Finding maximum cliques in large networks is a challenging combinatorial problem with many real-world applications. We present a fast algorithm to achieve the exact solution for the maximum clique problem in large sparse networks based on efficient graph decomposition. A bunch of effective techniques is being used to greatly prune the graph and a novel concept called Complete-Upper-Bound-Induced Subgraph (CUBIS) is proposed to ensure that the structures with the potential to form the maximum clique are retained in the process of graph decomposition. Our algorithm first pre-prunes peripheral nodes, subsequently, one or two small-scale CUBISs are constructed guided by the core number and current maximum clique size. Bron-Kerbosch search is performed on each CUBIS to find the maximum clique. Experiments on 50 empirical networks with a scale of up to 20 million show the CUBIS scales are largely independent of the original network scale. This enables an approximately linear runtime, making our algorithm amenable for large networks. Our work provides a new framework for effectively solving maximum clique problems on massive sparse graphs, which not only makes the graph scale no longer the bottleneck but also shows some light on solving other clique-related problems.
翻译:在大型网络中寻找最大团是一个具有挑战性的组合问题,在现实应用中广泛存在。我们提出了一种基于高效图分解的快速算法,用于在大型稀疏网络中获得最大团问题的精确解。该算法采用一系列有效的剪枝技术大幅精简图结构,并引入名为"完全上界诱导子图"(CUBIS)的新概念,确保在分解过程中保留可能形成最大团的潜在结构。算法首先对边缘节点进行预剪枝,随后根据核心数和当前最大团规模构建一个或两个小规模CUBIS。在每个CUBIS上执行Bron-Kerbosch搜索以寻找最大团。在50个规模高达2000万节点的实证网络上的实验表明,CUBIS的规模与原始网络规模基本无关。这使得算法具有近似线性的运行时间,适用于大规模网络。我们的工作为在海量稀疏图上有效求解最大团问题提供了新框架,不仅使图规模不再构成瓶颈,也为解决其他团相关问题提供了启示。