https://doi.org/10.1140/epjb/e2008-00425-1
Modularity-maximizing graph communities via mathematical programming
1
Computer Science Department, University of Southern California, Los Angeles, CA, 90089-0781, USA
2
Google Inc., Hyderabad, India
Corresponding author: a dkempe@usc.edu
Received:
20
April
2008
Revised:
8
September
2008
Published online:
27
November
2008
In many networks, it is of great interest to identify communities, unusually densely knit groups of individuals. Such communities often shed light on the function of the networks or underlying properties of the individuals. Recently, Newman suggested modularity as a natural measure of the quality of a network partitioning into communities. Since then, various algorithms have been proposed for (approximately) maximizing the modularity of the partitioning determined. In this paper, we introduce the technique of rounding mathematical programs to the problem of modularity maximization, presenting two novel algorithms. More specifically, the algorithms round solutions to linear and vector programs. Importantly, the linear programing algorithm comes with an a posteriori approximation guarantee: by comparing the solution quality to the fractional solution of the linear program, a bound on the available “room for improvement” can be obtained. The vector programming algorithm provides a similar bound for the best partition into two communities. We evaluate both algorithms using experiments on several standard test cases for network partitioning algorithms, and find that they perform comparably or better than past algorithms, while being more efficient than exhaustive techniques.
PACS: 89.75.Hc – Networks and genealogical trees / 05.10.-a – Computational methods in statistical physics and nonlinear dynamics / 02.10.Ox – Combinatorics; graph theory / 87.23.Ge – Dynamics of social systems
© EDP Sciences, Società Italiana di Fisica, Springer-Verlag, 2008