Finding the maximum clique in massive graphs
- Publication Type:
- Conference Proceeding
- Proceedings of the VLDB Endowment, 2017, 10 (11), pp. 1538 - 1549
- Issue Date:
© 2017 VLDB. 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 NPhard 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 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 ωc and an upper bound ωc of ω(G). In each iteration, RMC attempts to find a ωt-clique where ωt = |ωc + ωc)/2|. As finding ωt in each iteration is NPcomplete, we extract a seed set S such that the problem of finding a ωt-clique in G is equivalent to finding a ωt-clique in S with probability guarantees (≥1-n-c). We propose a novel iterative algorithm to determine the maximum clique by searching a k-clique in S starting from k = ωc + 1 until S becomes 0, when more iterations benefit marginally. As confirmed by the experiments, our approach is much more efficient and robust than previous solutions and can always find the exact maximum clique.
Please use this identifier to cite or link to this item: