asyn_fluidc#

asyn_fluidc(G, k, max_iter=100, seed=None)[源代码]#

返回社区 G 由流体社区算法检测。

中介绍了异步流体社区算法 [1]. 该算法基于流体在环境中相互作用、相互膨胀和推动的简单想法。它的初始化是随机的,所以发现的社区可能会因不同的执行而有所不同。

算法如下。首先,在图中的一个随机顶点中初始化每个初始k社区。然后,该算法以随机顺序迭代所有顶点,根据每个顶点的社区和相邻社区更新每个顶点的社区。这个过程要执行几次,直到收敛。在任何时候,每个社区的总密度都是1,它在其包含的顶点之间平均分布。如果群落顶点发生变化,则立即调整受影响群落的顶点密度。当对所有顶点进行完全迭代时,如果没有顶点改变它所属的社区,则算法已经收敛并返回。

这是中描述的算法的原始版本 [1]. 遗憾的是,它还不支持加权图形。

参数
G
k整数

要找到的社区数量。

max_iter整数

允许的最大迭代次数。默认情况下为100。

seed整数、随机状态或无(默认)

随机数生成状态的指示器。见 Randomness .

返回
communities可迭代的

以节点集的形式给出的社区的可迭代。

笔记

k变量不是可选参数。

工具书类

1(1,2)

Par_s F.,Garcia Gasulla D.等人流动社区:一种具有竞争力和高度可扩展性的社区检测算法”。 [https://arxiv.org/pdf/1703.09307.pdf] .