Skip to main content
QUICK REVIEW

[论文解读] Bayan Algorithm: Detecting Communities in Networks Through Exact and Approximate Optimization of Modularity

Samin Aref, Mahdi Mostajabdaveh|arXiv (Cornell University)|Sep 10, 2022
Complex Network Analysis Techniques被引用 6
一句话总结

Bayan 算法是一种针对社区检测的专用精确与近似方法,采用分支定界整数规划方法优化模块度,可保证全局最优或近似最优的划分。该算法在标准硬件上解决了此前无法处理的实例(最大达 4500 条边),性能优于现有方法,并提供公开的 Python 实现(bayanpy)。

ABSTRACT

Community detection is a classic network problem with extensive applications in various fields. Its most common method is using modularity maximization heuristics which rarely return an optimal partition or anything similar. Partitions with globally optimal modularity are difficult to compute, and therefore have been underexplored. Using structurally diverse networks, we compare 30 community detection methods including our proposed algorithm that offers optimality and approximation guarantees: the Bayan algorithm. Unlike existing methods, Bayan globally maximizes modularity or approximates it within a factor. Our results show the distinctive accuracy and stability of maximum-modularity partitions in retrieving planted partitions at rates higher than most alternatives for a wide range of parameter settings in two standard benchmarks. Compared to the partitions from 29 other algorithms, maximum-modularity partitions have the best medians for description length, coverage, performance, average conductance, and well clusteredness. These advantages come at the cost of additional computations which Bayan makes possible for small networks (networks that have up to 3000 edges in their largest connected component). Bayan is several times faster than using open-source and commercial solvers for modularity maximization, making it capable of finding optimal partitions for instances that cannot be optimized by any other existing method. Our results point to a few well performing algorithms, among which Bayan stands out as the most reliable method for small networks. A Python implementation of the Bayan algorithm (bayanpy) is publicly available through the package installer for Python.

研究动机与目标

  • 为解决启发式模块度最大化算法缺乏最优性保证的问题,这些算法常无法恢复真实社区结构。
  • 开发一种方法,可在已知最优性差距内提供精确最优划分或高质量近似解。
  • 将精确模块度最大化的边界推进至先前方法无法企及的范围,尤其针对中等规模的真实世界网络。
  • 为研究人员提供一种实用、高效且可靠的工具,以获得可证明最优或近似最优的社区检测结果。
  • 展示专用算法在恢复真实社区结构方面相较于通用启发式算法的优势。

提出的方法

  • 该算法采用整数规划(IP)形式化模块度最大化问题,其中二值变量表示节点分配至社区的归属。
  • 应用分支定界方案,通过迭代添加有效不等式(三角约束)来收紧线性规划松弛,消除分数解。
  • 结合上界(来自线性规划松弛)与下界(来自启发式解,如 Combo 算法)以指导搜索过程。
  • 在分支定界树的每个节点,基于违反的三元组约束(x_ij + x_ik + x_jk = 0 或 ≥ 2)添加切割,以划分可行空间。
  • 在子问题的下界中,通过减去一个调优的 δ 值来修改模块度矩阵,以抑制特定节点三元组的合并。
  • 当当前解(最佳可行解)与最优界收敛(间隙 = 0)时终止,以获得精确解;或在时间/最优性间隙阈值达到时终止,以获得近似解。

实验结果

研究问题

  • RQ1专用算法是否能实现对先前精确求解器无法处理的真实世界网络的精确模块度最大化?
  • RQ2Bayan 在恢复真实社区结构方面与 30 种现有社区检测方法相比表现如何?
  • RQ3与商业及开源求解器相比,Bayan 在可扩展性与可靠性方面提升了多少?
  • RQ4采用定制切割与边界收紧的分支定界方法,是否能为最大达 4500 条边的网络实现最优或近似最优解?
  • RQ5使用基于启发式下界的动态 δ 调优策略,对收敛速度与解质量有何影响?

主要发现

  • Bayan 在最大连通分量中成功计算出最大达 4500 条边的网络的全局最优划分,其规模远超以往任何精确方法。
  • 在相同实例上,该算法比开源及商业求解器(如 Gurobi)快数倍,使此前无法处理的问题得以精确求解。
  • 在合成网络与真实网络的基准测试中,Bayan 在恢复真实社区结构方面表现出更高的准确率与稳定性,优于 30 种替代方法。
  • Bayan 的近似版本在可控最优性间隙内获得高质量解,适用于精确优化不切实际的大规模网络。
  • 通过 pip 可获取的 Python 库 bayanpy,使该工具广泛可用,并可轻松集成至现有研究工作流中用于社区检测。
  • 本研究证实,Louvain、Leiden 和 Combo 等启发式算法常无法接近最优划分,其与最优解的调整兰道互信息差异分数超过 0.5。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。