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),通过局部最优操作分配剩余边权重,从而单调收敛至最优解。理论上,我们证明该算法可达到特定线性规划的最优状态(称为局部稠密分解)。此外,我们论证无需考虑原始图中的大部分边。为此,我们利用改进的计数排序开发剪枝算法,通过移除无关边和节点来缩减图规模,从而在更小的图中搜索稠密子图。