Abstract
Community detection, the decomposition of a graph into essential building blocks, has been a core research topic in network science over the past years. Since a precise notion of what constitutes a community has remained evasive, community detection algorithms have often been compared on benchmark graphs with a particular form of assortative community structure and classified based on the mathematical techniques they employ. However, this comparison can be misleading because apparent similarities in their mathematical machinery can disguise different goals and reasons for why we want to employ community detection in the first place. Here we provide a focused review of these different motivations that underpin community detection. This problem-driven classification is useful in applied network science, where it is important to select an appropriate algorithm for the given purpose. Moreover, highlighting the different facets of community detection also delineates the many lines of research and points out open directions and avenues for future research.
Highlights
Sparked by the work of Newman and Girvan (Newman 2006b; Newman and Girvan 2004) on Modularity in Complex Systems, the area of community detection has become one of the main pillars of network science research
We argue that community detection should not be considered as a well-defined problem, but rather as an umbrella term with many facets
Rather than an in-depth discussion of the technical details of different algorithmic implementations (Schaeffer 2007; Fortunato 2010; Coscia et al 2011; Parthasarathy et al 2011; Newman 2012; Malliaros and Vazirgiannis 2013; Xie et al 2013; Fortunato and Hric 2016), here we focus on the conceptual differences between different perspectives on community detection
Summary
Sparked by the work of Newman and Girvan (Newman 2006b; Newman and Girvan 2004) on Modularity in Complex Systems, the area of community detection has become one of the main pillars of network science research. Even a general definition of what constitutes a community is still lacking. The reasons for this are grounded in the computational difficulties of tackling community detection. Various research areas view community detection from different perspectives, which the lack of a consistent terminology illustrates: ‘network clustering’, ‘graph partitioning’, ‘community’, ‘block’ or ‘module detection’ all carry slightly different connotations. This jargon barrier creates confusion as soon as readers and authors have different preconceptions and intuitive notions are not made explicit
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have