asyn_fluidc#
- asyn_fluidc(G, k, max_iter=100, seed=None)[source]#
返回由流社区算法检测到的图
G
中的社区。异步流社区算法在 [1] 中描述。该算法基于流体在环境中相互作用、扩展和推动的简单思想。其初始化是随机的,因此不同执行中发现的社区可能会有所不同。
算法过程如下。首先,在图中的随机顶点上初始化 k 个初始社区。然后,算法以随机顺序遍历所有顶点,根据顶点自身及其邻居的社区更新每个顶点的社区。这个过程执行多次直到收敛。 在任何时候,每个社区的总密度为 1,均匀分布在其包含的顶点之间。如果一个顶点改变了社区,受影响的社区的顶点密度会立即调整。当遍历所有顶点完成,且没有顶点改变其所属的社区时,算法收敛并返回。
这是 [1] 中描述的算法的原始版本。不幸的是,它还不支持加权图。
- Parameters:
- GNetworkX 图
图必须是简单且无向的。
- k整数
要找到的社区数量。
- max_iter整数
允许的最大迭代次数。默认值为 100。
- seed整数, random_state, 或 None (默认)
随机数生成状态的指示器。 参见 Randomness 。
- Returns:
- communities可迭代对象
以节点集合形式给出的社区可迭代对象。
Notes
k 变量不是可选参数。
References
[1] (1,2)Parés F., Garcia-Gasulla D. 等。”Fluid Communities: A Competitive and Highly Scalable Community Detection Algorithm”. [https://arxiv.org/pdf/1703.09307.pdf].