edge_current_flow_betweenness_partition#
- edge_current_flow_betweenness_partition(G, number_of_sets, *, weight=None)[源代码]#
通过移除边电流介数最高的边创建的划分。
此算法通过计算所有边的边电流介数,然后移除值最高的边。接着判断图是否已被分成至少
number_of_sets
个连通分量。如果还没有,则重复此过程。- 参数:
- GNetworkX Graph, DiGraph 或 MultiGraph
待划分的图
- number_of_setsint
图的期望划分中的集合数量
- weightkey, 可选 (默认为 None)
用于边电流介数计算权重的边属性键
- 返回:
- Clist of sets
G 的划分
- 抛出:
- NetworkXError
如果 number_of_sets <= 0 或 number_of_sets > len(G)
注意
此算法非常慢,因为边电流介数的重新计算非常耗时。
参考
[1]Santo Fortunato ‘Community Detection in Graphs’ Physical Reports Volume 486, Issue 3-5 p. 75-174 http://arxiv.org/abs/0906.0612
示例
>>> G = nx.karate_club_graph() >>> part = nx.community.edge_current_flow_betweenness_partition(G, 2) >>> {0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 19, 21} in part True >>> {8, 14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33} in part True