connected_watts_strogatz_graph#

connected_watts_strogatz_graph(n, k, p, tries=100, seed=None, *, create_using=None)[源代码]#

返回一个连通的Watts–Strogatz小世界图。

尝试通过重复生成Watts–Strogatz小世界图来生成一个连通图。如果超过最大尝试次数,则抛出异常。

参数:
nint

节点数量

kint

在环形拓扑中,每个节点与其 k 个最近邻居连接。

pfloat

每条边重新布线的概率

triesint

生成连通图的尝试次数。

seed整数、random_state 或 None(默认值)

随机数生成状态的指示器。详见 随机性

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

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

说明

首先在 \(n\) 个节点上创建一个环 [1]。然后环中的每个节点连接到其 \(k\) 个最近邻居(如果 \(k\) 是奇数,则连接 \(k - 1\) 个邻居)。然后通过替换一些边来创建快捷边,具体如下:对于基础的“带有 \(k\) 个最近邻居的 \(n\) 环”中的每条边 \((u, v)\),以概率 \(p\) 用一条新边 \((u, w)\) 替换它,其中 \(w\) 是从现有节点中均匀随机选择的。重复整个过程,直到生成一个连通图。

参考文献

[1]

Duncan J. Watts 和 Steven H. Strogatz, Collective dynamics of small-world networks, Nature, 393, pp. 440–442, 1998.