Prune the Unnecessary: Parallel Pull-Push Louvain Algorithms with Automatic Edge Pruning

Community detection algorithms try to identify the underlying community structure (i.e., clearly distinguishable closely interacting groups of vertices) in a graph representing complex systems such as social networks, protein-protein interaction networks, and the World-Wide-Web. The Louvain algorithm iteratively moves vertices from one community to another to construct disjoint sets of vertices to form communities such that the vertices within the same community have more edges within themselves compared to their connections to the vertices outside the community. A property of the Louvain algorithm is that the number of vertex moves drops significantly just after the first few iterations because the community-membership also stabilizes quickly. In this paper, we present a parallel pull-and-push Louvain algorithm that exploits this property to prune unnecessary edge explorations without sacrificing the quality of the solution. We present a collection of parallel Louvain algorithms that prune many edges and vertices, speeding up convergence by an order of magnitude over the previously best-known implementation of the Louvain algorithm from Grappolo, while producing similar or better results.

[1]  Marco Pellegrini,et al.  Extraction and classification of dense communities in the web , 2007, WWW '07.

[2]  Alexander Rives,et al.  Modular organization of cellular networks , 2003, Proceedings of the National Academy of Sciences of the United States of America.

[3]  Jean-Loup Guillaume,et al.  Fast unfolding of communities in large networks , 2008, 0803.0476.

[4]  M E J Newman,et al.  Fast algorithm for detecting community structure in networks. , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[5]  B. Wellman The Development of Social Network Analysis: A Study in the Sociology of Science , 2008 .

[6]  Santo Fortunato,et al.  Community detection in graphs , 2009, ArXiv.

[7]  Jingchun Chen,et al.  Detecting functional modules in the yeast protein-protein interaction network , 2006, Bioinform..

[8]  Sanjukta Bhowmick,et al.  A Template for Parallelizing the Louvain Method for Modularity Maximization , 2013 .

[9]  Partha Pratim Pande,et al.  Accelerating graph community detection with approximate updates via an energy-efficient NoC , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[10]  Omer Subasi,et al.  Approximate Computing Techniques for Iterative Graph Algorithms , 2017, 2017 IEEE 24th International Conference on High Performance Computing (HiPC).

[11]  Vincent A. Traag,et al.  Faster unfolding of communities: speeding up the Louvain algorithm , 2015, Physical review. E, Statistical, nonlinear, and soft matter physics.

[12]  Ming Tang,et al.  Self-adaptive Louvain algorithm: Fast and stable community detection algorithm based on the principle of small probability event , 2018, Physica A: Statistical Mechanics and its Applications.

[13]  Hao Lu,et al.  Distributed Louvain Algorithm for Graph Community Detection , 2018, 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[14]  U. Brandes,et al.  Maximizing Modularity is hard , 2006, physics/0608255.

[15]  Anantharaman Kalyanaraman,et al.  Parallel Heuristics for Scalable Community Detection , 2014, 2014 IEEE International Parallel & Distributed Processing Symposium Workshops.

[16]  Fabio Checconi,et al.  Scalable Community Detection with the Louvain Algorithm , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium.

[17]  Mary Inaba,et al.  A Simple Acceleration Method for the Louvain Algorithm , 2016 .

[18]  Jianping Zeng,et al.  A Scalable Distributed Louvain Algorithm for Large-Scale Graph Community Detection , 2018, 2018 IEEE International Conference on Cluster Computing (CLUSTER).