random_degree_sequence_graph#
- random_degree_sequence_graph(sequence, seed=None, tries=10)[source]#
返回具有给定度序列的简单随机图。
如果序列中的最大度 \(d_m\) 为 \(O(m^{1/4})\),则该算法在 \(O(m d_m)\) 时间内生成几乎均匀的随机图,其中 \(m\) 是边的数量。
- 参数:
- sequence整数列表
度数序列
- seed整数、random_state 或 None(默认)
随机数生成状态的指示器。参见 随机性。
- triesint,可选
创建图的最大尝试次数
- 返回:
- G图
具有指定度序列的图。节点从0开始编号,索引对应于序列中的位置。
- 引发:
- NetworkXUnfeasible
如果度序列不是图的序列。
- NetworkXError
如果在指定的尝试次数内未生成图
另请参阅
is_graphical
,configuration_model
注意
生成器算法 [1] 不保证能生成一个图。
参考文献
[1]Moshen Bayati, Jeong Han Kim, and Amin Saberi, A sequential algorithm for generating random graphs. Algorithmica, Volume 58, Number 4, 860-910, DOI: 10.1007/s00453-009-9340-1
示例
>>> sequence = [1, 2, 2, 3] >>> G = nx.random_degree_sequence_graph(sequence, seed=42) >>> sorted(d for n, d in G.degree()) [1, 2, 2, 3]