首页 > 解决方案 > 使用 networkx 计算小世界系数

问题描述

我想使用 计算小世界系数(omegasigmanetworkx。从引用的链接中,据说omega应该介于-1和之间1。此外,如果sigma大于 1,则表示小世界图。这是我的代码:

# create a small-world graph
import networkx as nx
G = nx.watts_strogatz_graph(n=20,k=2,p=0.2)

# compute the coefficients
print(nx.omega(G))
print(nx.sigma(G))

它返回1.05foromegananfor sigma

/Users/tiendh/deeplearning/lib/python3.7/site-packages/networkx/algorithms/smallworld.py:301: RuntimeWarning: invalid value encountered in double_scalars
  sigma = (C / Cr) / (L / Lr)
nan

显然,omega不在范围内(-1,1)sigma无法计算。当我将重写概率 (p) 增加到0.5时,结果如下:

>>> G = nx.watts_strogatz_graph(n=20,k=2,p=0.5)
>>> nx.sigma(G)
0.0
>>> nx.omega(G)
1.132464146023468

我的问题是:

标签: pythonnetworkxgraph-theory

解决方案



推荐阅读