$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$为图的退化度。本文提出一种采用新型面向边分支策略的BB框架(称为EBBkC),通过向部分$k$-团添加两个相互连接的顶点(对应一条边)来形成子分支。我们为EBBkC探索了多种边排序方式,使其达到$O(\delta m + k m (\tau/2)^{k-2})$的时间复杂度,其中$\tau$是与图最大桁架数相关的整数且满足$\tau < \delta$。由于$O(\delta m)$和$O(k m (\tau/2)^{k-2})$均被$O(k m (\delta/2)^{k-2})$所界定,因此当$k>3$时EBBkC的时间复杂度优于VBBkC算法。此外,我们针对稠密图上的子分支开发了专用算法,可提前终止子分支并应用这些专用算法。我们在19个真实图上进行了广泛实验,结果表明,采用提前终止技术的新EBBkC算法始终大幅优于现有最先进(基于VBBkC的)算法。