random_clustered_graph#
- random_clustered_graph(joint_degree_sequence, create_using=None, seed=None)[源代码]#
生成一个具有给定关节独立边度和三角形度序列的随机图。
这使用类似配置模型的方法,通过随机分配边来匹配给定的关节度序列来生成随机图(具有平行边和自循环)。
联度序列是形式为的整数对的列表 \([(d_{{1,i}}, d_{{1,t}}), \dotsc, (d_{{n,i}}, d_{{n,t}})]\) 。根据这个列表,顶点 \(u\) 是一名成员 \(d_{{u,t}}\) 三角形和哈希数 \(d_{{u, i}}\) 其他边。数字 \(d_{{u,t}}\) 是不是 三角度 的 \(u\) 以及电话号码 \(d_{{u,i}}\) 是不是 独立边度 。
- 参数
- joint_degree_sequence整数对列表
每个列表条目对应于节点的独立边度和三角度。
- create_usingNetworkX图形构造函数,可选(默认多图形)
要创建的图表类型。如果是图表实例,则在填充之前清除。
- seed整数、随机状态或无(默认)
随机数生成状态的指示器。见 Randomness .
- 返回
- GMultiGraph
具有指定度序列的图。节点从0开始使用与deg_equence中的位置相对应的索引进行标记。
- 加薪
- NetworkXError
如果独立的边度序列和不是偶数,或者三角形度序列和不能被3整除。
笔记
正如米勒所描述的那样 [1] (另见纽曼 [2] 以获取等效描述)。
由于此函数返回具有自循环和平行边的图,因此允许使用非图形度序列(某些简单图无法实现)。如果独立度序列没有偶数和或三角形度序列和不能被3整除,则会引发异常。
这种配置模型(如构造过程)会导致重复的边和循环。您可以删除自循环和平行边(见下文),这可能导致图形没有指定确切的度数序列。这种“有限尺寸效应”随着图形尺寸的增大而减小。
工具书类
- 1
乔尔·C·米勒。”随机聚集网络中的渗透和流行病”。在:物理审查。统计、非线性和软物质物理80(2第1部分,2009年8月)。
- 2
M.E.J.纽曼。”带有聚类的随机图”。在:物理评论信103(2009年7月5日)
实例
>>> deg = [(1, 0), (1, 0), (1, 0), (2, 0), (1, 0), (2, 1), (0, 1), (0, 1)] >>> G = nx.random_clustered_graph(deg)
要删除平行边,请执行以下操作:
>>> G = nx.Graph(G)
要删除自循环:
>>> G.remove_edges_from(nx.selfloop_edges(G))