networkx minimum_node_cut和node_connectivity

时间:2018-01-10 22:34:00

标签: python graph networkx

我正在使用networkx,这是我的网络。

import networkx as nx
G = nx.from_edgelist([['a','b'], ['b','c'], ['c','a']])
nx.draw_networkx(G)

enter image description here

您能告诉我为什么minimum_node_cut会返回b,而node_connectivity会返回2吗?

nx.minimum_node_cut(G, 'a', 'c')
{'b'}

nx.node_connectivity(G, 'a', 'c')
2

我期待minimum_node_cut的长度等于node_connectivity

1 个答案:

答案 0 :(得分:0)

来自文档:

networkx.minimum_node_cut - 如果提供了源节点和目标节点,则此函数返回最小基数的节点集,如果删除,则会破坏G中源节点和目标节点之间的所有路径。

networkx.node_connectivity - 如果提供了源节点和目标节点,则此函数返回本地节点连接:必须删除的最小节点数,以便在G中断开源到目标的所有路径。

第一个返回一组节点,当移除这些节点时将破坏本地连接,第二个节点返回需要删除的最小节点数以破坏本地连接。

在我看来,networkx.minimum_node_cut返回的集合排除了源节点和目标节点,因为删除它们会轻易地破坏它们之间的连接。 networkx.node_connectivity正确地报告必须删除2个节点以破坏本地连接。