$k$-clique listing is a vital graph mining operator with diverse applications in various networks. The state-of-the-art algorithms all adopt a branch-and-bound (BB) framework with a vertex-oriented branching strategy (called VBBkC), which forms a sub-branch by expanding a partial $k$-clique with a vertex. These algorithms have the time complexity of $O(k m (\delta/2)^{k-2})$, where $m$ is the number of edges in the graph and $\delta$ is the degeneracy of the graph. In this paper, we propose a BB framework with a new edge-oriented branching (called EBBkC), which forms a sub-branch by expanding a partial $k$-clique with two vertices that connect each other (which correspond to an edge). We explore various edge orderings for EBBkC such that it achieves a time complexity of $O(\delta m + k m (\tau/2)^{k-2})$, where $\tau$ is an integer related to the maximum truss number of the graph and we have $\tau < \delta$. The time complexity of EBBkC is better than that of VBBkC algorithms for $k>3$ since both $O(\delta m)$ and $O(k m (\tau/2)^{k-2})$ are bounded by $O(k m (\delta/2)^{k-2})$. Furthermore, we develop specialized algorithms for sub-branches on dense graphs so that we can early-terminate them and apply the specialized algorithms. We conduct extensive experiments on 19 real graphs, and the results show that our newly developed EBBkC-based algorithms with the early termination technique consistently and largely outperform the state-of-the-art (VBBkC-based) algorithms.
翻译:$k$-团列举是一项重要的图挖掘操作,广泛应用于各类网络。当前最先进的算法均采用分支定界(BB)框架与面向顶点的分支策略(称为VBBkC),通过向部分$k$-团添加一个顶点来形成子分支。这些算法的时间复杂度为$O(k m (\delta/2)^{k-2})$,其中$m$为图中的边数,$\delta$为图的退化度。本文提出了一种采用新型面向边的分支策略(称为EBBkC)的BB框架,该策略通过向部分$k$-团添加一对互相连接的顶点(对应一条边)来形成子分支。我们探索了EBBkC的多种边序方式,使其时间复杂度达到$O(\delta m + k m (\tau/2)^{k-2})$,其中$\tau$是一个与图的最大桁架数相关的整数,且满足$\tau < \delta$。对于$k>3$的情况,EBBkC的时间复杂度优于VBBkC算法,因为$O(\delta m)$和$O(k m (\tau/2)^{k-2})$均受限于$O(k m (\delta/2)^{k-2})$。此外,我们针对稠密子图开发了专用算法,可实现提前终止并应用该专用算法。我们在19个真实图上进行了大量实验,结果表明,采用提前终止技术的新EBBkC算法始终且大幅优于当前最先进的(VBBkC类)算法。