Greedily Finding a Dense Subgraph

Given an n-vertex graph with non-negative edge weights and a positive integer k ≤ n, we are to find a k-vertex subgraph with the maximum weight. We study the following greedy algorithm for this problem: repeatedly remove a vertex with the minimum weighted-degree in the currently remaining graph, until exactly k vertices are left. We derive tight bounds on the worst case approximation ratio R of this greedy algorithm: (1/2+n/(2k))2-O(1/n) ≤ R ≤ (1/2+n/(2k))2+O(1/n) for k in the range n/3 ≤ k ≤ n and 2(n/k − 1) − O(1/k) ≤ R ≤ 2(n/k − 1) + O(n/k2) for k<n/3. For k = n/2, for example, these bounds are 9/4+=O(1/n), improving on naive lower and upper bounds of 2 and 4 respectively. The upper bound for general k shows that this simple algorithm is better than the best previously known algorithm at least by a factor of 2 when k ≥ n11/18.

[1]  Prabhakar Raghavan,et al.  Probabilistic construction of deterministic algorithms: Approximating packing integer programs , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[2]  S. S. Ravi,et al.  Facility Dispersion Problems: Heuristics and Special Cases (Extended Abstract) , 1991, WADS.

[3]  Marek Karpinski,et al.  Polynomial time approximation schemes for dense instances of NP-hard problems , 1995, STOC '95.

[4]  Yuichi Asahiro,et al.  Finding Dense Subgraphs , 1995, ISAAC.

[5]  Guy Kortsarz,et al.  Generating Sparse 2-Spanners , 1992, J. Algorithms.

[6]  Guy Kortsarz,et al.  On choosing a dense subgraph , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.