Detecting if a graph contains a $k$-Clique is one of the most fundamental problems in computer science. The asymptotically fastest algorithm runs in time $O(n^{\omega k/3})$, where $\omega$ is the exponent of Boolean matrix multiplication. To date, this is the only technique capable of beating the trivial $O(n^k)$ bound by a polynomial factor. Due to this technique's various limitations, much effort has gone into designing "combinatorial" algorithms that improve over exhaustive search via other techniques. The first contribution of this work is a faster combinatorial algorithm for $k$-Clique, improving Vassilevska's bound of $O(n^{k}/\log^{k-1}{n})$ by two log factors. Technically, our main result is a new reduction from $k$-Clique to Triangle detection that exploits the same divide-and-conquer at the core of recent combinatorial algorithms by Chan (SODA'15) and Yu (ICALP'15). Our second contribution is exploiting combinatorial techniques to improve the state-of-the-art (even of non-combinatorial algorithms) for generalizations of the $k$-Clique problem. In particular, we give the first $o(n^k)$ algorithm for $k$-clique in hypergraphs and an $O(n^3/\log^{2.25}{n} + t)$ algorithm for listing $t$ triangles in a graph.
翻译:检测图中是否存在k-团是计算机科学中最基础的问题之一。当前渐进最快算法的时间复杂度为$O(n^{\omega k/3})$,其中$\omega$表示布尔矩阵乘法的指数。迄今为止,这是唯一能在多项式因子意义上突破朴素$O(n^k)$边界的核心技术。由于该技术存在多种局限性,大量研究致力于设计能通过其他手段超越穷举搜索的“组合”算法。本文的第一项贡献是提出了更快的组合k-团算法,将Vassilevska的$O(n^{k}/\log^{k-1}{n})$界限提升了两个对数因子。从技术角度看,我们的主要成果是建立了从k-团问题到三角形检测问题的新归约方法,该方法利用了Chan(SODA'15)和Yu(ICALP'15)近期组合算法中相同的分治核心思想。第二项贡献是利用组合技术改进了k-团问题泛化形式的最优方法(甚至包括非组合算法)。具体而言,我们首次提出了超图中k-团的$o(n^k)$算法,以及用于枚举图中$t$个三角形的$O(n^3/\log^{2.25}{n} + t)$算法。