我的問題是如何使用 numpy 和 networkX 在 python 中生成隨機網絡圖(其他模塊也可以工作,但目前我專注于這兩個),其中包含 1000 個節點和給定的度數分布,如圖所示,其中 k 是節點數邊,P(k) 是節點與一定數量的邊連接的概率。多謝。學位分布p_k = [0, .1, .35, .25, .2, .1, .04, .01, .02, .02, .01]
k = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
1 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
這是 100 個節點的實現。
請注意,我將您的原始概率修改為總和為 1。
import numpy as np
import networkx as nx
import matplotlib.pyplot as plt
p_k = [0, .01, .35, .25, .2, .1, .04, .01, .01, .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()
添加回答
舉報
0/150
提交
取消