сети со случайным степенным распределением весов

Как я могу случайным образом назначить веса из степенного распределения сети с очень большим количеством узлов.

Я написал

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)]

Я знаю, что назначаю веса ребрам с помощью словаря кортежей (узел1, узел2, вес), используя:

nx.from_edgelist(edgelist,create_using=None)

Но когда я просто хочу получить взвешенную сеть, в которой веса распределены по степенному закону , есть ли другой более короткий путь?

6
задан Aya 22 January 2012 в 16:55
поделиться