Ho un grafo pesato:NetworkX (Python): come cambiare il peso bordi dalla regola designato
F=nx.path_graph(10)
G=nx.Graph()
for (u, v) in F.edges():
G.add_edge(u,v,weight=1)
ottenere la lista nodi:
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)]
voglio cambiare il peso di ogni spigolo da questa regola:
rimuovere un nodo, come il nodo 5, chiaramente, bordo (4, 5) e (5, 6) sarà eliminare, e il peso di ciascun bordo girerà a:
012.351.641,061 mila{# questi bordi si trovano nelle vicinanze del bordo cancellato (4, 5) e (5, 6)
(3,4): 'peso' = 1,1,
(6,7): 'peso '= 1,1,
bordi #Queste sono vicine ai bordi sopra menzionati
(2,3):' peso '= 1,2,
(7,8):' peso '= 1,2,
#Questi bordi si trovano nelle vicinanze es suddette
(1,2): 'peso' = 1,3,
(8,9): 'peso' = 1,3,
# questo bordo è nelle vicinanze (1,2)
(0,1): "peso" = 1,4}
Come scrivere questo algoritmo?
PS: path_graph è solo un esempio. Ho bisogno di un programma adatto a qualsiasi tipo di grafico. Inoltre, il programma deve essere iterabile, significa che posso rimuovere un nodo dal grafico di origine ogni volta.
saluti
Non capisco le regole per ridistribuire il peso – inspectorG4dget