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} }
Feedback for Dagstuhl Publishing