arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1503.01322physics.soc-phcs.DScs.SI
收藏

更快地展开社区:加速Louvain算法

Faster unfolding of communities: speeding up the Louvain algorithm

V. A. Traag

摘要:

许多复杂网络都呈现出密集连接的节点组的模块化结构。通常,这样的模块化结构是通过优化某些质量函数来揭示的。尽管存在缺陷,但模块化仍然是最受欢迎的质量功能之一。Louvain算法最初是为了优化模块化而开发的,但已应用于各种方法。因此,加速Louvain算法,使更大的图在更短的时间内分析各种方法。我们建议考虑将节点移动到随机邻居社区,而不是最佳邻居社区。虽然非常简单,但它在具有清晰社区结构的网络中将理论上的运行时复杂度从$\mathcal{O}(m)$降低到了$\mathcal{O}(n \log \langle k \rangle)$。在基准网络中,它将算法加速了大约2-3倍,而在一些真实网络中,它甚至达到了10倍的运行速度。这种改进是由于两个因素:(1)随机邻居可能处于“好”社区;(2)随机邻居可能是枢纽,有助于收敛。最后,性能增益仅略微降低质量,特别是对于模块化,从而提供良好的质量性能比。然而,对于其他一些指标,如显著性或意外性,这些收益不太明显,甚至消失。

英文摘要:

Many complex networks exhibit a modular structure of densely connected groups of nodes. Usually, such a modular structure is uncovered by the optimization of some quality function. Although flawed, modularity remains one of the most popular quality functions. The Louvain algorithm was originally developed for optimizing modularity, but has been applied to a variety of methods. As such, speeding up the Louvain algorithm, enables the analysis of larger graphs in a shorter time for various methods. We here suggest to consider moving nodes to a random neighbor community, instead of the best neighbor community. Although incredibly simple, it reduces the theoretical runtime complexity from $\mathcal{O}(m)$ to $\mathcal{O}(n \log \langle k \rangle)$ in networks with a clear community structure. In benchmark networks, it speeds up the algorithm roughly 2-3 times, while in some real networks it even reaches 10 times faster runtimes. This improvement is due to two factors: (1) a random neighbor is likely to be in a "good" community; and (2) random neighbors are likely to be hubs, helping the convergence. Finally, the performance gain only slightly diminishes the quality, especially for modularity, thus providing a good quality-performance ratio. However, these gains are less pronounced, or even disappear, for some other measures such as significance or surprise.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑