English

A color-avoiding approach to subgraph counting in bounded expansion classes

Data Structures and Algorithms 2020-01-16 v1

Abstract

We present an algorithm to count the number of occurrences of a pattern graph HH as an induced subgraph in a host graph GG. If GG belongs to a bounded expansion class, the algorithm runs in linear time. Our design choices are motivated by the need for an approach that can be engineered into a practical implementation for sparse host graphs. Specifically, we introduce a decomposition of the pattern HH called a counting dag C(H)\vec C(H) which encodes an order-aware, inclusion-exclusion counting method for HH. Given such a counting dag and a suitable linear ordering G\mathbb G of GG as input, our algorithm can count the number of times HH appears as an induced subgraph in GG in time O(Chwcolh(G)h1G)O(\|\vec C\| \cdot h \text{wcol}_{h}(\mathbb G)^{h-1} |G|), where wcolh(G)\text{wcol}_h(\mathbb G) denotes the maximum size of the weakly hh-reachable sets in G\mathbb G. This implies, combined with previous results, an algorithm with running time O(4h2h(wcolh(G)+1)h3G)O(4^{h^2}h (\text{wcol}_h(G)+1)^{h^3} |G|) which only takes HH and GG as input. We note that with a small modification, our algorithm can instead use strongly hh-reachable sets with running time O(Chcolh(G)h1G)O(\|\vec C\| \cdot h \text{col}_{h}(\mathbb G)^{h-1} |G|), resulting in an overall complexity of O(4h2hcolh(G)h2G)O(4^{h^2}h \text{col}_h(G)^{h^2} |G|) when only given HH and GG. Because orderings with small weakly/strongly reachable sets can be computed relatively efficiently in practice [11], our algorithm provides a promising alternative to algorithms using the traditional pp-treedepth colouring framework [13]. We describe preliminary experimental results from an initial open source implementation which highlight its potential.

Keywords

Cite

@article{arxiv.2001.05236,
  title  = {A color-avoiding approach to subgraph counting in bounded expansion classes},
  author = {Felix Reidl and Blair D. Sullivan},
  journal= {arXiv preprint arXiv:2001.05236},
  year   = {2020}
}
R2 v1 2026-06-23T13:11:47.188Z