Densest Subgraph Problem (DSP) is an important primitive problem with a wide range of applications, including fraud detection, community detection and DNA motif discovery. Edge-based density is one of the most common metrics in DSP. Although a maximum flow algorithm can exactly solve it in polynomial time, the increasing amount of data and the high complexity of algorithms motivate scientists to find approximation algorithms. Among these, its duality of linear programming derives several iterative algorithms including Greedy++, Frank-Wolfe and FISTA which redistribute edge weights to find the densest subgraph, however, these iterative algorithms vibrate around the optimal solution, which are not satisfactory for fast convergence. We propose our main algorithm Locally Optimal Weight Distribution (LOWD) to distribute the remaining edge weights in a locally optimal operation to converge to the optimal solution monotonically. Theoretically, we show that it will reach the optimal state of a specific linear programming which is called locally-dense decomposition. Besides, we show that it is not necessary to consider most of the edges in the original graph. Therefore, we develop a pruning algorithm using a modified Counting Sort to prune graphs by removing unnecessary edges and nodes, and then we can search the densest subgraph in a much smaller graph.
翻译:最密子图问题(DSP)是一个重要的基础性问题,广泛应用于欺诈检测、社区发现和DNA基序发现等领域。基于边的密度是DSP中最常用的度量标准之一。尽管最大流算法能在多项式时间内精确求解该问题,但日益增长的数据量和算法的高复杂度促使科学家寻找近似算法。其中,该问题的线性规划对偶性衍生出多种迭代算法,包括Greedy++、Frank-Wolfe和FISTA,这些算法通过重新分配边权重来寻找最密子图。然而,这些迭代算法会在最优解附近振荡,难以实现快速收敛。我们提出核心算法——局部最优权重分配(LOWD),通过局部最优操作分配剩余边权重,从而单调收敛至最优解。理论上,我们证明该算法能达到特定线性规划(称为局部稠密分解)的最优状态。此外,我们证明无需考虑原始图中的大部分边。为此,我们开发了一种基于改进计数排序的剪枝算法,通过移除不必要的边和节点对图进行剪枝,从而在规模大幅缩小的图中搜索最密子图。