asyn_lpa_communities#

asyn_lpa_communities(G, weight=None, seed=None)[源代码]#

返回由异步标签传播算法检测到的 G 中的社区。

异步标签传播算法在 [1] 中有描述。该算法是概率性的,发现的社区在不同的执行中可能有所不同。

算法过程如下。在用唯一的标签初始化每个节点后,算法重复地将节点的标签设置为在该节点邻居中出现频率最高的标签。当每个节点的标签都是在其邻居中出现频率最高的标签时,算法停止。由于每个节点在更新时无需等待其他节点的更新,因此该算法是异步的。

该算法是 [1] 中算法的泛化版本,接受边权重。

参数:
GGraph
weightstring

表示边权重的边属性。如果为 None,则假定每条边的权重为一。在该算法中,边的权重用于确定某个标签在节点邻居中出现的频率:权重越高意味着该标签出现的频率越高。

种子整数, 随机状态, 或 None (默认)

随机数生成状态的指示器。详见 随机性

返回:
communitiesiterable

由节点集合组成的社区的可迭代对象。

注意

边权重属性必须是数值类型。

参考文献

[1] (1,2)

Raghavan, Usha Nandini, Réka Albert, and Soundar Kumara. “Near linear time algorithm to detect community structures in large-scale networks.” Physical Review E 76.3 (2007): 036106.