破坏网络图不能正常工作吗?网络x,python

时间:2020-05-21 12:08:06

标签: python networkx graph-theory

我有一个多图(两个节点之间有多个边) 我在做什么 1>查找最大的连接组件 2>删除具有最大邻居数的节点 转到步骤1 问题:我通过反复删除具有最大节点邻居数的节点来破坏网络,但是即使删除了20多个节点后,最大的组件仍然很大。我不知道自己在做什么错误。我受够了 。 谁能帮助我?从这个出来?真的会感谢你

统计信息如下图所示。 enter image description here

def graph_creation(data_pd_frame):
Graph = nx.from_pandas_edgelist(data_pd_frame,
                                source='Acor1_new_code',
                                target='Acor2_new_code',
                                create_using=nx.MultiGraph()
                                ) 
return Graph



def extracting_k(G):
 result = [(node, len(list(G.neighbors(node)))) for node in G.nodes()]
 actor= max(result, key=lambda node:node[2])
 return actor[0]

for i in range(30):
 nodes_before_attack_in_largest_cluster=G0.number_of_nodes()
 actor=extracting_k(G0)
 subgraph = nx.Graph(G0)
 degree=subgraph.degree(actor)
 subgraph.remove_node(actor)
 Gcc = sorted(nx.connected_components(subgraph), key=len, reverse=True)
 G0 = G_HR.subgraph(Gcc[0])    
 nodes_after_attack_in_largest_cluster=G0.number_of_nodes()

number_of_nodes_removed=nodes_before_attack_in_largest_cluster-nodes_after_attack_in_largest_cluster

enter image description here

0 个答案:

没有答案