我有一个多图(两个节点之间有多个边) 我在做什么 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