如何解决在python中生成具有指定度分布的网络图
我的问题是如何使用numpy和networkX在Python中生成随机网络图(其他模块可以工作,但目前我专注于这两个模块)具有1000个节点和给定的度数分布,如图k所示。边的数量,P(k)是节点连接一定数量的边的概率。非常感谢。 degree distribution
p_k = [0,.1,.35,.25,.2,.04,.01,.02,.01]
k = [0,1,2,3,4,5,6,7,8,9,10]
解决方法
这是100个节点的实现。
请注意,我已将您的原始概率修改为1。
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
p_k = [0,.01,.35,.25,.2,.1,.04,.02,.01]
k = [0,1,2,3,4,5,6,7,8,9,10]
expected_degree_sequence = np.random.choice(
k,100,p = p_k
)
G = nx.configuration_model(expected_degree_sequence)
nx.draw(G)
plt.show()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。