GN基准网络,复杂网络社团划分个人学习用
def GN_Benchmark(p_in, p_out):
# 添加节点
n = 128
G = nx.Graph()
# 0-127 0-31%31=0,32-63%31=1,以此类推
G.add_nodes_from(range(n))
# 添加连边
for i in range(n - 1):
for j in range(i + 1, n):
# 同一个社区,用p_in
if i % 31 == j % 31:
p = p_in
else:
p = p_out
# 生成概率
probability = random.random()
if probability <= p:
G.add_edge(i, j)
return G