random_clustered_graph#
- random_clustered_graph(joint_degree_sequence, create_using=None, seed=None)[source]#
生成一个具有给定联合独立边度和三角形度序列的随机图。
该方法采用类似于配置模型的方法生成随机图(包含平行边和自环),通过随机分配边来匹配给定的联合度序列。
联合度序列是一个整数对的列表,形式为 \([(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}\) 是*独立边度*。
- Parameters:
- joint_degree_sequence整数对列表
每个列表条目对应于一个节点的独立边度和三角形度。
- create_usingNetworkX 图构造函数,可选(默认 MultiGraph)
要创建的图类型。如果是图实例,则在填充前清空。
- seed整数,random_state,或 None(默认)
随机数生成状态的指示器。 参见 Randomness 。
- Returns:
- GMultiGraph
具有指定度序列的图。节点从0开始标记,索引对应于度序列中的位置。
- Raises:
- NetworkXError
如果独立边度序列的和不是偶数或三角形度序列的和不能被3整除。
Notes
如Miller [Rf3d740164f55-1]_所述(另见Newman [Rf3d740164f55-2]_的等效描述)。
允许非图形度序列(不能由某些简单图实现),因为此函数返回带有自环和平行边的图。如果独立度序列的和不偶数或三角形度序列的和不能被3整除,则会引发异常。
这种类似于配置模型的构造过程可能导致重复边和环。您可以删除自环和平行边(见下文),这可能会导致图不具有指定的确切度序列。这种“有限尺寸效应”随着图的大小增加而减小。
References
[1]Joel C. Miller. “Percolation and epidemics in random clustered networks”. In: Physical review. E, Statistical, nonlinear, and soft matter physics 80 (2 Part 1 August 2009).
[2]M. E. J. Newman. “Random Graphs with Clustering”. In: Physical Review Letters 103 (5 July 2009)
Examples
>>> 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))