Creative Commons Attribution 4.0 International license
We present an indivisible I/O-efficient algorithm for subgraph enumeration, where the objective is to list all the subgraphs of a massive graph G : = (V, E) that are isomorphic to a pattern graph Q having k = O(1) vertices. Our algorithm performs O((|E|^{k/2})/(M^{{k/2}-1} B) log_{M/B}(|E|/B) + (|E|^ρ)/(M^{ρ-1} B) I/Os with high probability, where ρ is the fractional edge covering number of Q (it always holds ρ ≥ k/2, regardless of Q), M is the number of words in (internal) memory, and B is the number of words in a disk block. Our solution is optimal in the class of indivisible algorithms for all pattern graphs with ρ > k/2. When ρ = k/2, our algorithm is still optimal as long as M/B ≥ (|E|/B)^ε for any constant ε > 0.
@InProceedings{deng_et_al:LIPIcs.ICDT.2023.4,
author = {Deng, Shiyuan and Silvestri, Francesco and Tao, Yufei},
title = {{Enumerating Subgraphs of Constant Sizes in External Memory}},
booktitle = {26th International Conference on Database Theory (ICDT 2023)},
pages = {4:1--4:20},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-270-9},
ISSN = {1868-8969},
year = {2023},
volume = {255},
editor = {Geerts, Floris and Vandevoort, Brecht},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ICDT.2023.4},
URN = {urn:nbn:de:0030-drops-177460},
doi = {10.4230/LIPIcs.ICDT.2023.4},
annote = {Keywords: Subgraph Enumeration, Conjunctive Queries, External Memory, Algorithms}
}