Towards Optimal Output-Sensitive Clique Listing or: Listing Cliques from Smaller Cliques
Abstract
We study finding and listing k-cliques in a graph, for constant k≥ 3, a fundamental problem of both theoretical and practical importance. Our main contribution is a new output-sensitive algorithm for listing k-cliques in graphs, for arbitrary k≥ 3, coupled with lower bounds based on standard fine-grained assumptions, showing that our algorithm's running time is tight. Previously, the only known conditionally optimal output-sensitive algorithms were for the case of 3-cliques by Bj\"orklund, Pagh, Vassilevska W. and Zwick [ICALP'14]. Typical inputs to subgraph isomorphism or listing problems are measured by the number of nodes n or the number of edges m. Our framework is very general in that it gives k-clique listing algorithms whose running times are measured in terms of the number of -cliques in the graph for any 1≤ <k. This generalizes the typical parameterization in terms of n (the number of 1-cliques) and m (the number of 2-cliques). If the matrix multiplication exponent ω is 2, and if the size of the output, k, is sufficiently large, then for every <k, the running time of our algorithm for listing k-cliques is O(2 (k - )k1-2k(k-)). For sufficiently large k, we prove that this runtime is in fact optimal for all 1 ≤ < k under the Exact k-Clique hypothesis. In the special cases of k = 4 and 5, our algorithm in terms of n is conditionally optimal for all values of k if ω = 2. Moreover, our framework is powerful enough to provide an improvement upon the 19-year old runtimes for 4 and 5-clique detection in m-edge graphs, as a function of m [Eisenbrand and Grandoni, TCS'04].
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.