我想在高度互连的网络中选择并打印三个节点的路径。从给定节点开始,该函数应选择具有最高度中心性的相邻节点作为第二个节点。
在平局的情况下,我想让程序在这些节点之间随机选择。
这是我到目前为止所拥有的:
import networkx as nx
from random import choice
g =nx.Graph()
g.add_nodes_from(range(1,5))
g.add_edges_from([(1,5),(2,5),(3,5),(4,5), (1,2),(2,3),(3,4),(4,5)])
nx.set_node_attributes(g,'degree_cent',nx.degree_centrality(g))
degree_walk =[]
node1=g.nodes()[2]
degree_walk.append(node1)
for node2 in g.neighbors(node1):
if max(g.node[node2]['degree_cent'], g.node[node2]['degree_cent'].get):
node2 = choice(g.neighbors(node1))
degree_walk.append(node2)
print degree_walk