Community detection is key to understanding the structure of complex networks, and ultimately extracting useful information from them. Applications are diverse: from healthcare to regional geography, from human interactions and mobility to economics. In this paper we present a novel search strategy for the optimization of various objective functions for community detection purposes [ S. Sobolevsky, R. Campari, A. Belyi, and C. Ratti "General optimization technique for high-quality community detection in complex networks" Phys. Rev. E 90, 012811 2014 ]. Existing search strategies take one of the following steps to evolve starting partitions: merging two communities, splitting a community into two, or moving nodes between two distinct communities. The proposed algorithm compounds all three actions. After selecting an initial partition made of a single community, the following steps are iterated as long as the iteration results in an increased objective function score: (1) for each source community, the best possible redistribution of all source nodes into each destination community (either existing or new) is calculated; this also allows for the possibility that the source community entirely merges with the destination; (2) the best merger/split/recombination is performed. As the proposed technique combines all three possible types of steps, we are referring to it as Combo.
Study Authors
Stanislav Sobolevsky Riccardo Campari Alexander Belyi Carlo Ratti Paper link Phys. Rev. E 90, 012811 2014 Source codes of our algorithm Combo C++ |
Source codes of some other algorithms
Community detection: Louvain method - C++, Matlab Le Martelot Simulated Annealing implemented in RGraph Extremal Optimization implemented in Radatools Infomap Benchmarks: Lancichinetti, Fortunato, Radicchi |
Network data repositories and interesting personal pages:
UCI Network Data Repository Aaron Clauset Alex Arenas Mark Newman Martin Rosvall |