LazyFox: fast and parallelized overlapping community detection in large graphs

PeerJ Comput Sci. 2023 Apr 20:9:e1291. doi: 10.7717/peerj-cs.1291. eCollection 2023.

Abstract

The detection of communities in graph datasets provides insight about a graph's underlying structure and is an important tool for various domains such as social sciences, marketing, traffic forecast, and drug discovery. While most existing algorithms provide fast approaches for community detection, their results usually contain strictly separated communities. However, most datasets would semantically allow for or even require overlapping communities that can only be determined at much higher computational cost. We build on an efficient algorithm, Fox, that detects such overlapping communities. Fox measures the closeness of a node to a community by approximating the count of triangles which that node forms with that community. We propose LazyFox, a multi-threaded adaptation of the Fox algorithm, which provides even faster detection without an impact on community quality. This allows for the analyses of significantly larger and more complex datasets. LazyFox enables overlapping community detection on complex graph datasets with millions of nodes and billions of edges in days instead of weeks. As part of this work, LazyFox's implementation was published and is available as a tool under an MIT licence at https://github.com/TimGarrels/LazyFox.

Keywords: C++ tool; Community analysis; Graph algorithm; Heuristic triangle estimation; Large networks; Open source; Overlapping community detection; Parallelized algorithm; Runtime improvement; Weighted clustering coefficient.

Grants and funding

This work was supported by an Add-on Fellowship for Interdisciplinary Life Sciences of the Joachim Herz Stiftung (to Katharina Baum) and by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation)—project number 491466077. The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.