Table of Contents
Fetching ...

Towards Optimal Output-Sensitive Clique Listing or: Listing Cliques from Smaller Cliques

Mina Dalirrooyfard, Surya Mathialagan, Virginia Vassilevska Williams, Yinzhan Xu

TL;DR

An output-sensitive algorithm for listing k-cliques, for any constant k≥ 3, that gives the first improvement in 19 years over the old runtimes for 4 and 5-clique finding, as a function of m.

Abstract

We study finding and listing $k$-cliques in a graph, for constant $k\geq 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\geq 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örklund, 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 $\ell$-cliques $Δ_\ell$ in the graph for any $1\leq \ell<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 $\ell<k$, the running time of our algorithm for listing $k$-cliques is $$\tilde{O}\left(Δ_\ell^{\frac{2}{\ell (k - \ell)}}Δ_k^{1-\frac{2}{k(k-\ell)}}\right).$$ For sufficiently large $Δ_k$, we prove that this runtime is in fact {\em optimal} for all $1 \leq \ell < 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].

Towards Optimal Output-Sensitive Clique Listing or: Listing Cliques from Smaller Cliques

TL;DR

An output-sensitive algorithm for listing k-cliques, for any constant k≥ 3, that gives the first improvement in 19 years over the old runtimes for 4 and 5-clique finding, as a function of m.

Abstract

We study finding and listing -cliques in a graph, for constant , a fundamental problem of both theoretical and practical importance. Our main contribution is a new output-sensitive algorithm for listing -cliques in graphs, for arbitrary , 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 -cliques by Björklund, Pagh, Vassilevska W. and Zwick [ICALP'14]. Typical inputs to subgraph isomorphism or listing problems are measured by the number of nodes or the number of edges . Our framework is very general in that it gives -clique listing algorithms whose running times are measured in terms of the number of -cliques in the graph for any . This generalizes the typical parameterization in terms of (the number of -cliques) and (the number of -cliques). If the matrix multiplication exponent is , and if the size of the output, , is sufficiently large, then for every , the running time of our algorithm for listing -cliques is For sufficiently large , we prove that this runtime is in fact {\em optimal} for all under the Exact -Clique hypothesis. In the special cases of and , our algorithm in terms of is conditionally optimal for all values of if . Moreover, our framework is powerful enough to provide an improvement upon the 19-year old runtimes for and -clique detection in -edge graphs, as a function of [Eisenbrand and Grandoni, TCS'04].
Paper Structure (50 sections, 35 theorems, 116 equations, 5 figures, 4 tables, 5 algorithms)

This paper contains 50 sections, 35 theorems, 116 equations, 5 figures, 4 tables, 5 algorithms.

Key Result

Theorem 1.2

There is an $O(m^{1.657})$ time algorithm for 4-clique detection and an $O(m^{2.057})$ time algorithm for 5-clique detection in $m$-edge graphs.

Figures (5)

  • Figure 1: Upper and lower bounds for $4$ and $5$-cliques in graphs with $m$ edges, if $\omega = 2$. Here, $r$ is such that one can list $t$$4$-cliques or $5$-cliques respectively, in $\tilde{O}(m^r)$ time. The blue line corresponds to our upper bound from Theorems \ref{['thm:4_2']} and \ref{['thm:5_2']}, the dashed red line denotes our lower bound from Theorem \ref{['thm:lb_intro']}, and the dashed black line corresponds to the lower bound from Hypothesis \ref{['hyp:k_clique']}. The shaded region highlights the portions of the algorithms which are not conditionally optimal.
  • Figure 2: Upper and lower bounds listing 36-cliques in $n$-node graphs, and 51-cliques in $m$-edge graphs if $\omega = 2$. Here, the exponent $r$ is such that one can list $t$$36$-cliques or $51$-cliques respectively, in $\tilde{O}(n^r)$ and $\tilde{O}(m^r)$ time respectively. The blue line corresponds to our upper bound from the general listing algorithm, and the dashed red line denotes the lower bounds from Hypothesis \ref{['hyp:k_clique']} and Theorem \ref{['thm:lb_intro_mn']}.
  • Figure 3: Upper and lower bounds for listing 6-cliques in $n$-node graphs if $\omega = 2$. Here, $r$ is such that one can list $t$$6$-cliques in $\tilde{O}(n^r)$ time. The blue line corresponds to the upper bound of our general listing algorithm, the black line corresponds to the upper bound of our refined algorithm, and the dashed red line denotes lower bound from Theorem \ref{['thm:lb_intro_mn']} and Hypothesis \ref{['hyp:k_clique']}.
  • Figure 4: Comparison of our detection time for $(k, \lfloor k/C \rfloor)$ (assuming $\omega= 2$) between the actual running time exponent of Algorithm \ref{['alg:generic_detection']} and the upper bound from Theorem \ref{['thm:det_mult_upper_bound']} (without the $o_\ell(1)$ term; here $\ell=\lfloor k/C \rfloor$). The actual exponents are computed by dynamic programming. The colored lines denote the actual running time exponent, and the dashed lines denote the values of $f_i(C)$ for appropriately chosen $i$. Note that the upper bound from Theorem \ref{['thm:det_mult_upper_bound']} can be lower than the actual exponent because we omitted the $o_\ell(1)$ factors.
  • Figure 5: Upper and lower bounds for the runtime $r$ for $(12, 1)\text{-}\mathsf{Clique}\text{-}\mathsf{Listing}$ for a graph with $t$$k$-cliques, assuming $\omega = 2$. The upper bound is from Example \ref{['eg:12_1_list']} and the lower bounds are from Proposition \ref{['prop:eh_upper_bound']} and Theorem \ref{['thm:lower_bound']}.

Theorems & Definitions (72)

  • Theorem 1.2
  • Theorem 1.4
  • Theorem 1.5
  • Theorem 1.6
  • Theorem 1.7
  • Theorem 1.8
  • Theorem 1.9: Informal
  • Theorem 1.10
  • Theorem 1.11: Informal
  • Lemma 2.1: Hölder's Inequality
  • ...and 62 more