A Survey on Subgraph Counting: Concepts, Algorithms, and Applications to Network Motifs and Graphlets

Pedro Ribeiro, Pedro Paredes, Miguel E. P. Silva, David Aparício and Fernando Silva

2021

Abstract

Computing subgraph frequencies is a fundamental task that lies at the core of several network analysis methodologies, such as network motifs and graphlet-based metrics, which have been widely used to categorize and compare networks from multiple domains. Counting subgraphs is, however, computationally very expensive, and there has been a large body of work on efficient algorithms and strategies to make subgraph counting feasible for larger subgraphs and networks. This survey aims precisely to provide a comprehensive overview of the existing methods for subgraph counting. Our main contribution is a general and structured review of existing algorithms, classifying them on a set of key characteristics, highlighting their main similarities and differences. We identify and describe the main conceptual approaches, giving insight on their advantages and limitations, and we provide pointers to existing implementations. We initially focus on exact sequential algorithms, but we also do a thorough survey on approximate methodologies (with a trade-off between accuracy and execution time) and parallel strategies (that need to deal with an unbalanced search space).

Digital Object Identifier (DOI)

doi 10.1145/3433652

Publication in PDF format

pdf Download PDF

Journal/Conference/Book

ACM Computing Surveys

Reference (text)

Pedro Ribeiro, Pedro Paredes, Miguel E. P. Silva, David Aparício and Fernando Silva. A Survey on Subgraph Counting: Concepts, Algorithms, and Applications to Network Motifs and Graphlets. In ACM Computing Surveys, Vol. 54(2), pp. 1-36, ACM, March, 2021.

Bibtex

@article{ribeiro-CSUR2021,
  author = {Pedro Ribeiro and  Pedro Paredes and  Miguel E. P. Silva and  David Aparício and Fernando Silva},
  title = {A Survey on Subgraph Counting: Concepts, Algorithms, and Applications to Network Motifs and Graphlets},
  doi = {10.1145/3433652},
  journal = {ACM Computing Surveys},
  volume = {54},
  issue = {2},
  pages = {1-36},
  publisher = {ACM},
  month = {March},
  year = {2021}
}