Counting small patterns in a large dataset is a fundamental algorithmic task. The most common version of this task is subgraph/homomorphism counting, wherein we count the number of occurrences of a small pattern graph $H$ in an input graph $G$. The study of this problem is a field in and of itself. Recently, both in theory and practice, there has been an interest in \emph{hypergraph} algorithms, where $G = (V,E)$ is a hypergraph. One can view $G$ as a set system where hyperedges are subsets of the universe $V$. Counting patterns $H$ in hypergraphs is less studied, although there are many applications in network science and database algorithms. Inspired by advances in the graph literature, we study when linear time algorithms are possible. We focus on input hypergraphs $G$ that have bounded \emph{degeneracy}, a well-studied concept for graph algorithms. We give a spectrum of definitions for hypergraph degeneracy that cover all existing notions. For each such definition, we give a precise characterization of the patterns $H$ that can be counted in (near) linear time. Specifically, we discover a set of ``obstruction patterns". If $H$ does not contain an obstruction, then the number of $H$-subhypergraphs can be counted exactly in $O(n\log n)$ time (where $n$ is the number of vertices in $G$). If $H$ contains an obstruction, then (assuming hypergraph variants of fine-grained complexity conjectures), there is a constant $\gamma > 0$, such that there is no $o(n^{1+\gamma})$ time algorithm for counting $H$-subhypergraphs. These sets of obstructions can be defined for all notions of hypergraph degeneracy.
翻译:暂无翻译