node_connectivity#
- node_connectivity(G, s=None, t=None)[source]#
返回图或有向图G的节点连通性的近似值。
节点连通性等于必须移除的最小节点数,以断开G或使其变得平凡。根据Menger定理,这等于节点独立路径的数量(这些路径除了源节点和目标节点外不共享任何节点)。
如果提供了源节点和目标节点,此函数返回局部节点连通性:必须移除的最小节点数,以断开G中从源节点到目标节点的所有路径。
此算法基于一个快速近似,该近似给出了两个节点之间实际节点独立路径数量的严格下界[1]。它适用于有向图和无向图。
- Parameters:
- GNetworkX图
无向图
- s节点
源节点。可选。默认值:None。
- t节点
目标节点。可选。默认值:None。
- Returns:
- K整数
G的节点连通性,或如果提供了源节点和目标节点,则返回局部节点连通性。
Notes
此算法[1]通过使用BFS计算最短路径,标记找到路径的节点为“已使用”,然后排除已标记节点搜索其他最短路径,直到不存在更多路径。它不是精确的,因为最短路径可能使用节点,如果路径更长,这些节点可能属于两条不同的节点独立路径。因此,它仅保证节点连通性的严格下界。
References
[1]White, Douglas R., and Mark Newman. 2001 A Fast Algorithm for Node-Independent Paths. Santa Fe Institute Working Paper #01-07-035 http://eclectic.ss.uci.edu/~drwhite/working.pdf
Examples
>>> # 柏拉图正八面体图是4节点连通的 >>> from networkx.algorithms import approximation as approx >>> G = nx.octahedral_graph() >>> approx.node_connectivity(G) 4