如何隨機地將權重從冪律分佈分配給節點數量非常大的網絡。具有隨機冪律分佈權重的網絡
我寫
import networkx as nx
import numpy as np
from networkx.utils import powerlaw_sequence
z=nx.utils.create_degree_sequence(200,nx.utils.powerlaw_sequence,exponent=1.9)
nx.is_valid_degree_sequence(z)
G=nx.configuration_model(z)
Gcc=nx.connected_component_subgraphs(G)[0]
edgelist=[nx.utils.powerlaw_sequence(nx.number_of_edges(Gcc),exponent=2.0)]
我知道我用的元組(節點,節點2,體重)的字典分配權重的邊緣:
nx.from_edgelist(edgelist,create_using=None)
但當我只是感興趣的是得到一個加權網絡的權重是冪律分佈的,還有另一種更短的方法嗎?
非常感謝。 – Aya
對不起,如果我想要這個冪律序列是除零以外的任何數字?或特定範圍內的任何數字?因此最小值爲1,例如powerlaw_sequence(100,指數= 2.0,範圍(1,20))和powerlaw_sequence(100,指數= 2.0,xmin = 1)都不起作用。謝謝 – Aya
回答參考http://stackoverflow.com/questions/9016591/how-to-exclude-some-numbers-from-a-list/9016679#9016679 – Aya