expected_degree_graph#

expected_degree_graph(w, seed=None, selfloops=True)[源代码]#

返回具有给定期望度数的随机图。

给定一系列预期的学位 \(W=(w_0,w_1,\ldots,w_{{n-1}})\) 长度的 \(n\) 该算法在节点之间分配一条边 \(u\) AND节点 \(v\) 有概率地

\[P u v=\frac w u v \ sum k w u k。\]
参数
w列表

预期学位的列表。

selfloops: bool (default=True)

设置为False可移除自循环边的可能性。

seed整数、随机状态或无(默认)

随机数生成状态的指示器。见 Randomness .

返回

笔记

节点具有对应于预期度数输入序列索引的整数标签。

该算法的复杂性是 \(\mathcal{{O}}(n+m)\) 哪里 \(n\) 是节点数和 \(m\) 是预期的边数。

中的模型 [1] 包括自循环边的可能性。将selflopps设置为FALSE以生成没有自循环的图形。

对于有限图,该模型不能精确地产生给定的期望度序列。相反,预期的度数如下。

对于没有自循环(self loops=false)的情况,

\[E [度(U)] =\sum_{v\ne u}p_{uv} =w_u\Left(1-\frac{w_u}{\sum_k w_k}\Right)。\]

NetworkX使用标准约定,即自循环边在节点的度数中计数2,因此自循环(self loops=true)也是如此。

\[E [度(U)] =\sum_{v\ne u}p_{uv}+2 p_{uu} =w_u\Left(1+\frac{w_u}{\sum_k w_k}\right)。\]

工具书类

1

范忠、吕,随机图中给定期望度序列的连通分量,人工神经网络。组合数学,6,pp.125-145,2002。

2

Joel Miller和Aric Hagberg,在网络图算法和模型(WAW 2011)、Alan Frieze、Paul Horn和Pawe_Pra_at(eds)、LNCS 6732,第115-126页,2011年,高效生成具有给定预期学位的网络。

实例

>>> z = [10 for i in range(100)]
>>> G = nx.expected_degree_graph(z)