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.