networkx.algorithms.connectivity.kcomponents.k_components
的用法。用法:
k_components(G, flow_func=None)
返回图 G 的 k-component 结构。
k
- 组件是图 G 的最大子图,它至少具有节点连接性k
:我们需要至少删除k
节点才能将其分解为更多组件。k
- 组件具有固有的层次结构,因为它们在连接性方面是嵌套的:连接图可以包含多个 2 组件,每个组件都可以包含一个或多个 3 组件,依此类推。- G:NetworkX 图
- flow_func:函数
执行底层流计算的函数。默认值
edmonds_karp()
。此函数在具有右尾度分布的稀疏图中表现更好。shortest_augmenting_path()
在更密集的图中表现更好。
- k_components:dict
字典,输入图表中的所有连接级别
k
作为键,形成级别k
的 k-component 的节点集列表作为值。
- NetworkXNotImplemented
如果输入图是有向的。
参数:
返回:
抛出:
注意:
Moody 和 White [1](附录 A)提供了一种识别图中 k-components 的算法,该算法基于 Kanevsky 算法 [2],用于查找图中的所有 minimum-size 节点 cut-sets(在
all_node_cuts()
中实现)函数):计算输入图 G 的节点连通性 k。
使用 Kanevsky 算法识别当前连接级别的所有k-cutsets。
基于删除这些割集生成新的图组件。割集中的节点属于诱导割的两侧。
如果图既不完整也不平凡,返回1;否则结束。
此实现还使用一些启发式方法(有关详细信息,请参阅[3])来加速计算。
参考:
- 1
Moody, J. and D. White (2003). Social cohesion and embeddedness: A hierarchical conception of social groups. American Sociological Review 68(1), 103-28. http://www2.asanet.org/journals/ASRFeb03MoodyWhite.pdf
- 2
Kanevsky, A. (1993). Finding all minimum-size separating vertex sets in a graph. Networks 23(6), 533-541. http://onlinelibrary.wiley.com/doi/10.1002/net.3230230604/abstract
- 3
Torrents, J. and F. Ferraro (2015). Structural Cohesion: Visualization and Heuristics for Fast Computation. https://arxiv.org/pdf/1503.04476v1
例子:
>>> # Petersen graph has 10 nodes and it is triconnected, thus all >>> # nodes are in a single component on all three connectivity levels >>> G = nx.petersen_graph() >>> k_components = nx.k_components(G)
相关用法
- Python NetworkX k_components用法及代码示例
- Python NetworkX k_clique_communities用法及代码示例
- Python NetworkX k_edge_components用法及代码示例
- Python NetworkX k_edge_augmentation用法及代码示例
- Python NetworkX k_edge_subgraphs用法及代码示例
- Python NetworkX katz_centrality用法及代码示例
- Python NetworkX kamada_kawai_layout用法及代码示例
- Python NetworkX katz_centrality_numpy用法及代码示例
- Python NetworkX kosaraju_strongly_connected_components用法及代码示例
- Python NetworkX karate_club_graph用法及代码示例
- Python NetworkX negative_edge_cycle用法及代码示例
- Python NetworkX voronoi_cells用法及代码示例
- Python NetworkX numerical_edge_match用法及代码示例
- Python NetworkX inverse_line_graph用法及代码示例
- Python NetworkX LFR_benchmark_graph用法及代码示例
- Python NetworkX write_graph6用法及代码示例
- Python NetworkX DiGraph.__contains__用法及代码示例
- Python NetworkX average_degree_connectivity用法及代码示例
- Python NetworkX eulerian_circuit用法及代码示例
- Python NetworkX single_source_dijkstra_path_length用法及代码示例
- Python NetworkX from_dict_of_dicts用法及代码示例
- Python NetworkX weisfeiler_lehman_subgraph_hashes用法及代码示例
- Python NetworkX transitive_closure_dag用法及代码示例
- Python NetworkX intersection用法及代码示例
- Python NetworkX MultiGraph.size用法及代码示例
注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.connectivity.kcomponents.k_components。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。