Enumerating Maximum Cliques in Massive Graphs - Lu, Can; Yu, Jeffrey Xu; Wei, Hao; Zhang, Yikai (IEEE transactions on knowledge and data engineering, 2022)
Cliques refer to subgraphs in an undirected graph such that vertices in each subgraph are pairwise adjacent. The maximum clique problem, to find the clique with most vertices in a given graph, has been extensively studied. Besides its theoretical value as an NP-hard problem, the maximum clique problem is known to have direct applications in various fields, such as community search in social networks and social media, team formation in expert networks, gene expression and motif discovery in bioinformatics and anomaly detection in complex networks, revealing the structure and function of networks. However, algorithms designed for the maximum clique problem are expensive to deal with real-world networks. In this paper, we first devise a randomized algorithm for the maximum clique problem. Different from previous algorithms that search from each vertex one after another, our approach RMC , for the randomized maximum clique problem, employs a binary search while maintaining a lower bound \underline{ω _c} ωc̲<inline-graphic xlink:href="lu-ieq1-3036013.gif"/> and an upper bound \overline{ω _c} ωc¯<inline-graphic xlink:href="lu-ieq2-3036013.gif"/> of ω (G) ω(G)<inline-graphic xlink:href="lu-ieq3-3036013.gif"/> . In each iteration, RMC attempts to find a ω _t ωt<inline-graphic xlink:href="lu-ieq4-3036013.gif"/> -clique where ω _t=\lfloor (\underline{ω _c}+\overline{ω _c})/2\rfloor ωt=⌊(ωc̲+ωc¯)/2⌋<inline-graphic xlink:href="lu-ieq5-3036013.gif"/> . As finding ω _t ωt<inline-graphic xlink:href="lu-ieq6-3036013.gif"/> in each iteration is NP-complete, we extract a seed set S S<inline-graphic xlink:href="lu-ieq7-3036013.gif"/> such that the problem of finding a ω _t ωt<inline-graphic xlink:href="lu-ieq8-3036013.gif"/> -clique in G G<inline-graphic xlink:href="lu-ieq9-3036013.gif"/> is equivalent to finding a ω _t ωt<inline-graphic xlink:href="lu-ieq10-3036013.gif"/> -clique in S S<inline-graphic xlink:href="lu-ieq11-3036013.gif"/> with probability guarantees ( ≥ ≥<inline-graphic xlink:href="lu-ieq12-3036013.gif"/> 1-n^{-c} 1-n-c<inline-graphic xlink:href="lu-ieq13-3036013.gif"/> ). We propose a novel iterative algorithm to determine the maximum clique by searching a k k<inline-graphic xlink:href="lu-ieq14-3036013.gif"/> -clique in S S<inline-graphic xlink:href="lu-ieq15-3036013.gif"/> starting from k=\underline{ω _c}+1 k=ωc̲+1<inline-graphic xlink:href="lu-ieq16-3036013.gif"/> until S S<inline-graphic xlink:href="lu-ieq17-3036013.gif"/> becomes \lbrace \rbrace {}<inline-graphic xlink:href="lu-ieq18-3036013.gif"/> , when more iterations benefit marginally. Due to the potential inconsistency of maximum clique algorithms, we study the problem of maximum clique enumeration and propose an efficient algorithm RMCE to enumerate all maximum cliques in a given graph. As confirmed by the experiments, both RMC and RMCE are much more efficient and robust than previous solutions, RMC can always find the exact maximum clique, and RMCE can always enumerate all maximum cliques in a given graph.