powerlaw_cluster_graph#

powerlaw_cluster_graph(n, m, p, seed=None, *, create_using=None)[source]#

用于生成具有幂律度分布和近似平均聚类系数的图的 Holme 和 Kim 算法。

参数:
nint

节点数

mint

为每个新节点添加的随机边数

pfloat,

添加随机边后形成三角形的概率

seed整数、random_state 或 None(默认)

随机数生成状态的指示器。请参阅 随机性

create_using图构造函数,可选(默认=nx.Graph)

要创建的图类型。如果是图实例,则在填充前会被清空。不支持多重图和有向图类型,否则会引发 NetworkXError

引发:
NetworkXError

如果 m 不满足 1 <= m <= n,或者 p 不满足 0 <= p <= 1

注意

平均聚类系数很难超过一个取决于 m 的特定上限。这个上限通常很低。传递性(三角形数量占可能三角形数量的比例)似乎随着网络规模的增大而减小。

它本质上是 Barabási–Albert (BA) 增长模型的扩展,额外增加了一步:在添加每条随机边后,有机会也与该边的某个邻居建立连接(从而形成一个三角形)。

该算法在 BA 的基础上进行了改进,因为它允许在需要时获得更高的平均聚类系数。

使用此算法可能会生成非连通图,因为在第一次迭代中,初始的 m 个节点可能不会像 BA 模型那样全部连接到一个新节点。

参考文献

[1]

P. Holme and B. J. Kim, “Growing scale-free networks with tunable clustering”, Phys. Rev. E, 65, 026107, 2002.