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\) 是边的数量。
- Parameters:
- sequencelist of integers
度序列
- seedinteger, random_state, or None (default)
随机数生成状态的指示器。 参见 随机性 。
- triesint, optional
创建图的最大尝试次数
- Returns:
- GGraph
具有指定度序列的图。 节点从0开始标记,索引对应于序列中的位置。
- Raises:
- NetworkXUnfeasible
如果度序列不是图形的。
- NetworkXError
如果在指定次数的尝试中未生成图
See also
is_graphical
,configuration_model
Notes
生成器算法 [1] 不保证生成图。
References
[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
Examples
>>> 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]