生成具有双峰度分布的随机网络

时间:2014-02-14 19:59:53

标签: r graph

我想生成一个随机网络,其平均度数分布在4和10左右。因此大多数节点应该具有4或10度。

这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以使用配置模型(Molly & Reed '98)生成此类随机图。它在igraph中实现(当然在其他库中),如here所述。

原则如下。 1)你画出学位分布。 2)生成一组存根,这样对于每个节点,您都有许多与其程度相对应的存根。因此,具有10度的节点将显示为10个不同的存根。 3)您在此集合中随机绘制2个存根,并连接它们以创建新链接。之前的节点,其度为10,因此将连接到10个节点,这是我们想要的。重复此步骤,直到连接所有存根。显然,你需要偶数个存根。

缺点是:可能的多个链接(即两个节点连接不止一次)和自链接或循环(一个节点与自身连接)。您可以在生成过程中禁止这些链接,但您可能也无法完全获得目标分发。此外,您只能控制度分布,而不能控制其他拓扑属性,例如度相关或平均距离。

因此,使用此模型,您只需要能够生成双峰分布。例如,你会很容易找到(仍然使用R)here