Parallel Maximum Clique Algorithms with Applications to Network Analysis

@article{Rossi2015ParallelMC,
  title={Parallel Maximum Clique Algorithms with Applications to Network Analysis},
  author={Ryan A. Rossi and David F. Gleich and Assefaw Hadish Gebremedhin},
  journal={SIAM J. Sci. Comput.},
  year={2015},
  volume={37}
}
We present a fast, parallel maximum clique algorithm for large sparse graphs that is designed to exploit characteristics of social and information networks. The method exhibits a roughly linear runtime scaling over real-world networks ranging from a thousand to a hundred million nodes. In a test on a social network with 1.8 billion edges, the algorithm finds the largest clique in about 20 minutes. At its heart the algorithm employs a branch-and-bound strategy with novel and aggressive pruning… 

A local core number based algorithm for the maximum clique problem

TLDR
Two branch-and-bound exact algorithms for finding a maximum clique in an undirected graph are presented and it is shown that local core numbers are more efficient than approximate coloring to compute an upper bound on the clique number.

Accelerating Clique Counting in Sparse Real-World Graphs via Communication-Reducing Optimizations

TLDR
CITRON (Clique counting with Traffic Reducing Optimizations) is presented to improve the parallel scalability and thus overall performance of clique counting and significantly outperforms kClist while counting moderately sized cliques, and thus increases the size of graph practical for clique count.

A Fast and Provable Method for Estimating Clique Counts Using Turán's Theorem

TLDR
A new randomized algorithm is presented that provably approximates the number of k-cliques, for any constant k, using the classic Turán's theorem, and it is found that TURÀN-SHADOW is generally much faster and more accurate than a range of other sampling algorithms.

A scalable maximum-clique algorithm using Apache Spark

TLDR
This paper proposes a scalable algorithm for finding the exact solution to the maximum-clique problem, which enables iterative, in-memory processing of graphs, and uses Apache Spark to explore the untraditional usage of distributed frameworks to distribute computational load, as opposed to distributing big data.

Manycore clique enumeration with fast set intersections

TLDR
This paper proves that the use of hash-join-based set-intersection algorithms within MCE leads to Pareto-optimal implementations in terms of runtime and memory space compared to those based on merge joins, and develops a scalable parallel implementation of MCE that exploits both data and task parallelism.

Parallelizing maximal clique and k-plex enumeration over graph data

Parallelizing Maximal Clique Enumeration on Modern Manycore Processors

TLDR
This work describes an efficient manycore CPU implementation of maximal clique enumeration (MCE), a basic building block of several social and biological network mining algorithms, and develops a multi-core solution and eliminates its scalability bottlenecks by minimizing the scheduling and the memory-management overheads.

Efficient Maximum Clique Computation over Large Sparse Graphs

TLDR
An algorithm MC-BRB is designed which transforms an instance of MCC-Sparse to instances of k-clique finding over dense subgraphs (KCF-Dense) that can be computed by the existing MCC -Dense solvers, and a new branch-reduce-&-bound framework for KCF- Dense is developed.

Finding a Maximum Clique in Dense Graphs via χ2 Statistics

TLDR
It is shown that ALTHEA, based on chi-square statistical significance, is able to dramatically prune the search space for finding a maximum clique, thereby providing run-time efficiency.

Learning Multi-Stage Sparsification for Maximum Clique Enumeration

TLDR
This work proposes a multi-stage learning approach for pruning the search space of maximum clique enumeration, a fundamental computationally difficult problem arising in various network analysis tasks and demonstrates it to be effective also for dense graphs.
...

References

SHOWING 1-10 OF 89 REFERENCES

Fast Algorithms for the Maximum Clique Problem on Massive Sparse Graphs

TLDR
This work presents a new exact algorithm that employs novel pruning techniques and is able to quickly find maximum cliques in large sparse graphs and presents a heuristic that runs orders of magnitude faster than the exact algorithm while providing optimal or near-optimal solutions.

Fast algorithms for maximal clique enumeration with limited memory

TLDR
This work proposes an efficient partition-based algorithm for MCE that addresses the problem of processing large graphs with limited memory and reduces the high cost of CPU computation of MCE by a careful nested partition based on a cost model.

Listing All Maximal Cliques in Large Sparse Real-World Graphs

We implement a new algorithm for listing all maximal cliques in sparse graphs due to Eppstein, Loffler, and Strash (ISAAC 2010) and analyze its performance on a large corpus of real-world graphs. Our

Streaming Algorithms for k-core Decomposition

TLDR
This paper proposes the first incremental k-core decomposition algorithms for streaming graph data, which locate a small subgraph that is guaranteed to contain the list of vertices whose maximum k-Core values have to be updated, and efficiently process this subgraph to update the k- core decomposition.

The Maximum Clique Enumeration Problem: Algorithms, Applications and Implementations

TLDR
Novel decomposition strategies are tuned to the data and coupled with the best FPT MCE implementations, and it is demonstrated that the resultant run times are frequently reduced, and that instances once prohibitively time-consuming to solve are now often brought into the domain of realistic feasibility.

An Efficient Branch-and-bound Algorithm for Finding a Maximum Clique with Computational Experiments

TLDR
An exact and efficient branch-and-bound algorithm MCR for finding a maximum clique in an arbitrary graph that decidedly outperforms other existing algorithms on random graphs and on DIMACS benchmark graphs.

Algorithm 457: finding all cliques of an undirected graph

TLDR
Two backtracking algorithms are presented, using a branchand-bound technique [4] to cut off branches that cannot lead to a clique, and generates cliques in a rather unpredictable order in an attempt to minimize the number of branches to be traversed.

A fast algorithm for the maximum clique problem

Listing All Maximal Cliques in Sparse Graphs in Near-optimal Time

TLDR
There exists a nearly-optimal fixed-parameter tractable algorithm for enumerating all maximal cliques, parametrized by degeneracy, and this algorithm matches the Θ(d(n − d)3 d/3) worst-case output size of the problem whenever n − d = Ω(n).
...