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\"{o}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 $\Delta_\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 $\omega$ is $2$, and if the size of the output, $\Delta_k$, is sufficiently large, then for every $\ell<k$, the running time of our algorithm for listing $k$-cliques is $$\tilde{O}\left(\Delta_\ell^{\frac{2}{\ell (k - \ell)}}\Delta_k^{1-\frac{2}{k(k-\ell)}}\right).$$ For sufficiently large $\Delta_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 $\Delta_k$ if $\omega = 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].
翻译:我们研究在图中查找和列出 $k$-团的问题,其中 $k\geq 3$ 为常数,这是一个兼具理论和实践重要性的基础问题。我们的主要贡献是针对任意 $k\geq 3$ 的图,提出一种新的输出敏感算法用于列出 $k$-团,并结合基于标准细粒度假设的下界,证明了我们算法的运行时间是紧的。此前,唯一已知的条件最优输出敏感算法仅针对 $3$-团情况,由 Björklund、Pagh、Vassilevska W. 和 Zwick 提出 [ICALP'14]。子图同构或列举问题的典型输入通常以节点数 $n$ 或边数 $m$ 来衡量。我们的框架非常通用,它给出的 $k$-团列举算法的运行时间可以用图中任意 $1\leq \ell<k$ 的 $\ell$-团数量 $\Delta_\ell$ 来度量。这推广了以 $n$($1$-团的数量)和 $m$($2$-团的数量)表示的传统参数化方法。如果矩阵乘法指数 $\omega$ 为 $2$,并且输出规模 $\Delta_k$ 足够大,那么对于每个 $\ell<k$,我们算法列出 $k$-团的运行时间为 $$\tilde{O}\left(\Delta_\ell^{\frac{2}{\ell (k - \ell)}}\Delta_k^{1-\frac{2}{k(k-\ell)}}\right).$$ 对于足够大的 $\Delta_k$,我们证明在精确 $k$-团假设下,该运行时间对所有 $1 \leq \ell < k$ 实际上是最优的。在 $k = 4$ 和 $5$ 的特殊情况下,如果 $\omega = 2$,我们的算法(以 $n$ 表示)对所有 $\Delta_k$ 值都是条件最优的。此外,我们的框架足够强大,能够在 $m$ 边图中对 $4$ 和 $5$-团检测问题,提供相对于已有 19 年运行时间(以 $m$ 的函数形式,来自 Eisenbrand 和 Grandoni,TCS'04)的改进。