Efficient maximum clique computation and enumeration over large sparse graphs

This paper studies the problem of maximum clique computation (MCC) over sparse graphs, as large real-world graphs are usually sparse. In the literature, the problem of MCC over sparse graphs has been studied separately and less extensively than its dense counterpart—MCC over dense graphs—and advanced algorithmic techniques that are developed for MCC over dense graphs have not been utilized in the existing MCC solvers for sparse graphs. In this paper, we design an algorithm MC-BRB\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathsf {MC\text {-}BRB}$$\end{document} for sparse graphs which transforms an instance of MCC over a large sparse graph G to instances of k-clique finding (KCF) over dense subgraphs of G, each of which can be computed by the existing MCC solvers for dense graphs. To further improve the efficiency, we then develop a new branch-reduce-&-bound framework for KCF over dense graphs by proposing light-weight reducing techniques and leveraging the advanced branching and bounding techniques that are used in the existing MCC solvers for dense graphs. In addition, we also design an ego-centric algorithm MC-EGO\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathsf {MC\text {-}EGO}$$\end{document} for heuristically computing a near-maximum clique in near-linear time, and we extend our MC-BRB\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathsf {MC\text {-}BRB}$$\end{document} algorithm to enumerate all maximum cliques. Finally, we parallelize our algorithms to exploit multiple CPU cores. We conduct extensive empirical studies on large real graphs and demonstrate the efficiency and effectiveness of our techniques.

[1]  Jeffrey Xu Yu,et al.  Finding maximal cliques in massive networks , 2011, TODS.

[2]  Panos M. Pardalos,et al.  Statistical analysis of financial networks , 2005, Comput. Stat. Data Anal..

[3]  Chuhsing Kate Hsiao,et al.  A new regularized least squares support vector regression for gene selection , 2009, BMC Bioinformatics.

[4]  Wei Li,et al.  Computing A Near-Maximum Independent Set in Linear Time by Reducing-Peeling , 2017, SIGMOD Conference.

[5]  Vladimir Batagelj,et al.  An O(m) Algorithm for Cores Decomposition of Networks , 2003, ArXiv.

[6]  Hua Jiang,et al.  On minimization of the number of branches in branch-and-bound algorithms for the maximum clique problem , 2017, Comput. Oper. Res..

[7]  Guy E. Blelloch,et al.  Julienne: A Framework for Parallel Graph Algorithms using Work-efficient Bucketing , 2017, SPAA.

[8]  Johan Hstad Clique is hard to approximate within n1-epsilon , 1997 .

[9]  Jeffrey Xu Yu,et al.  Fast Maximal Cliques Enumeration in Sparse Graphs , 2012, Algorithmica.

[10]  Sourav S. Bhowmick,et al.  DUALSIM: Parallel Subgraph Enumeration in a Massive Graph on a Single Machine , 2016, SIGMOD Conference.

[11]  David Eppstein,et al.  Listing All Maximal Cliques in Large Sparse Real-World Graphs , 2011, JEAL.

[12]  Darren Strash,et al.  WeGotYouCovered: The Winning Solver from the PACE 2019 Implementation Challenge, Vertex Cover Track , 2019, ArXiv.

[13]  C. Bron,et al.  Algorithm 457: finding all cliques of an undirected graph , 1973 .

[14]  Leland L. Beck,et al.  Smallest-last ordering and clustering and graph coloring algorithms , 1983, JACM.

[15]  Lijun Chang,et al.  Cohesive Subgraph Computation Over Large Sparse Graphs: Algorithms, Data Structures, and Programming Techniques , 2018 .

[16]  Ryan A. Rossi,et al.  GraphZIP: a clique-based sparse graph compression method , 2018, Journal of Big Data.

[17]  Lijun Chang,et al.  Scalable Distributed Subgraph Enumeration , 2016, Proc. VLDB Endow..

[18]  Richard M. Karp,et al.  Reducibility Among Combinatorial Problems , 1972, 50 Years of Integer Programming.

[19]  Takuya Akiba,et al.  Branch-and-reduce exponential/FPT algorithms in practice: A case study of vertex cover , 2014, Theor. Comput. Sci..

[20]  Panos M. Pardalos,et al.  A new exact maximum clique algorithm for large and massive sparse graphs , 2016, Comput. Oper. Res..

[21]  Paul H. J. Kelly,et al.  A Fast and Scalable Graph Coloring Algorithm for Multi-core and Many-core Architectures , 2015, Euro-Par.

[22]  Shilpa Chakravartula,et al.  Complex Networks: Structure and Dynamics , 2014 .

[23]  Nicole Schweikardt,et al.  Lower bounds for processing data with few random accesses to external memory , 2009, JACM.

[24]  Wei-keng Liao,et al.  Fast Algorithms for the Maximum Clique Problem on Massive Graphs with Applications to Overlapping Community Detection , 2014, Internet Math..

[25]  Stephen B. Seidman,et al.  Network structure and minimum degree , 1983 .

[26]  Ali Pinar,et al.  Local Algorithms for Hierarchical Dense Subgraph Discovery , 2017, Proc. VLDB Endow..

[27]  Ryan A. Rossi,et al.  Parallel Maximum Clique Algorithms with Applications to Network Analysis , 2013, SIAM J. Sci. Comput..

[28]  Panos M. Pardalos,et al.  The maximum clique problem , 1994, J. Glob. Optim..

[29]  Yoshiyasu Takefuji,et al.  A Neural Network Model for Finding a Near-Maximum Clique , 1992, J. Parallel Distributed Comput..

[30]  Coenraad Bron,et al.  Finding All Cliques of an Undirected Graph (Algorithm 457) , 1973, Commun. ACM.

[31]  Norishige Chiba,et al.  Arboricity and Subgraph Listing Algorithms , 1985, SIAM J. Comput..

[32]  J. Jeffry Howbert,et al.  The Maximum Clique Problem , 2007 .

[33]  Diogo Vieira Andrade,et al.  Fast local search for the maximum independent set problem , 2008, Journal of Heuristics.

[34]  Jeffrey Xu Yu,et al.  I/O Efficient Core Graph Decomposition: Application to Degeneracy Ordering , 2019, IEEE Transactions on Knowledge and Data Engineering.

[35]  Jaikumar Radhakrishnan,et al.  Greed is good: Approximating independent sets in sparse and bounded-degree graphs , 1997, Algorithmica.

[36]  Ashraf Aboulnaga,et al.  Scalable maximum clique computation using MapReduce , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[37]  Jeffrey Xu Yu,et al.  Finding the maximum clique in massive graphs , 2017, Proc. VLDB Endow..

[38]  Akira Tanaka,et al.  The worst-case time complexity for generating all maximal cliques and computational experiments , 2006, Theor. Comput. Sci..

[39]  Etsuji Tomita,et al.  Clique-based data mining for related genes in a biomedical database , 2009, BMC Bioinformatics.

[40]  Lu Qin,et al.  Cohesive Subgraph Computation Over Large Sparse Graphs , 2019, 2019 IEEE 35th International Conference on Data Engineering (ICDE).

[41]  Darren Strash,et al.  WeGotYouCovered: The Winning Solver from the PACE 2019 Challenge, Vertex Cover Track , 2020, CSC.

[42]  Johan Håstad,et al.  Clique is hard to approximate within n1-epsilon , 1996, Electron. Colloquium Comput. Complex..

[43]  Fabrizio Grandoni,et al.  A measure & conquer approach for the analysis of exact algorithms , 2009, JACM.

[44]  Hua Jiang,et al.  Combining MaxSAT Reasoning and Incremental Upper Bound for the Maximum Clique Problem , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[45]  Shinya Takahashi,et al.  A Simple and Faster Branch-and-Bound Algorithm for Finding a Maximum Clique , 2010, WALCOM.

[46]  Lijun Chang,et al.  Efficient Maximum Clique Computation over Large Sparse Graphs , 2019, KDD.

[47]  Mauro Brunato,et al.  Cooperating local search for the maximum clique problem , 2011, J. Heuristics.

[48]  Piotr Berman,et al.  On Approximation Properties of the Independent Set Problem for Low Degree Graphs , 1999, Theory of Computing Systems.

[49]  Mehmet Deveci,et al.  Parallel Graph Coloring for Manycore Architectures , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[50]  Etsuji Tomita,et al.  A Much Faster Branch-and-Bound Algorithm for Finding a Maximum Clique , 2016, FAW.

[51]  Maximilien Danisch,et al.  Listing k-cliques in Sparse Real-World Graphs* , 2018, WWW.

[52]  Xiaoqi Zheng,et al.  Large cliques in Arabidopsis gene coexpression network and motif discovery. , 2011, Journal of plant physiology.

[53]  P. Pardalos,et al.  An exact algorithm for the maximum clique problem , 1990 .

[54]  Peter Sanders,et al.  Finding Near-Optimal Independent Sets at Scale , 2016, ALENEX.

[55]  Gianmarco De Francisci Morales,et al.  QFrag: distributed graph search via subgraph isomorphism , 2017, SoCC.

[56]  Andrew V. Goldberg,et al.  Finding a Maximum Density Subgraph , 1984 .

[57]  Weifa Liang,et al.  Efficiently computing k-edge connected components via graph decomposition , 2013, SIGMOD '13.

[58]  Etsuji Tomita,et al.  Efficient Algorithms for Finding Maximum and Maximal Cliques and Their Applications , 2017, WALCOM.

[59]  Mark Jerrum,et al.  Large Cliques Elude the Metropolis Process , 1992, Random Struct. Algorithms.