# A fast parallel algorithm for computing all maximal cliques in a graph and the related problems

## Abstract

We design a fast parallel algorithm for determining all *maximal cliques (maximal independent sets)* in an arbitrary graph, working in *O*(log^{3}(*nM*)) parallel time and *O*(*M*^{6}*n*^{2}) processors on a CREWPRAM, where *n* is the number of vertices and *M* the number of maximal cliques. It entails the existence of deterministic *NC*-algorithms for several important graph classes with a polynomially bounded number of *maximal cliques (maximal independent sets)* in the number of vertices. Our result surprisingly generalizes the recent fast *NC*-algorithms of [NNS] and [DK 1] for computing all maximal cliques on chordal graphs to the arbitrary classes with polynomially many *maximal cliques*. Examples of these important classes of graphs besides chordal and strongly chordal graphs [NNS], [DK] are circle and circular graphs [Go], [GHS], *K*_{4}/*e* graphs, circular arc graphs, expander graphs, and edge graphs [Ga]. They arise in a number of applications [Ga], [TIAS], [MC], [GMS].

All computational solutions for the set of all maximal cliques or maximal independent sets up to now were inherently sequential and strongly restraining efficient parallelization [TIAS], [CN]. Our result implies that the problem of finding the maximum clique or the lexicographically first maximal clique is efficiently parallelizable for every class of graphs with polynomially many cliques. It stands in contrast to the status of these problems for an unbounded case (*NP*-completeness and *P*-completeness [Co]). It also provides another class of problems ([GK]) with superpolynomial (exponential) monotone lower bound complexity [AB], [Ra], and within the uniform Boolean circuits of *O*(log^{3}*n*) depth and polynomial size. The following general enumeration problem has also been proved to be in *NC*: Given an arbitrary graph *G*, and a natural number *K* in unary, determine *K* cliques of *G* or determine there are less than *K* cliques in *G*. We apply the new universal algebra method of the Galois connection for the lattice structure of bipartite complete graphs and the recent completeness results on such lattices.

## Keywords

Parallel Algorithm Maximal Clique Chordal Graph Perfect Graph Arbitrary Graph## Preview

Unable to display preview. Download preview PDF.

## References

- [AB]Alon, N., and Boppana, R.B.,
*The Monotone Circuit Complexity of Boolean Functions*, Manuscript, MIT 1986Google Scholar - [AM]Auguston, J.M. and Minker, J.,
*An Analysis of Some Graph Theoretical Cluster Techniques*, J. ACM 17 (1970), pp. 571–588Google Scholar - [Bi 1]Birkhoff, G.,
*Subdirect Unions in Universal Algebra*, Bull. Amer. Soc. 50(1944), pp. 764–768Google Scholar - [Bi 2]
- [CN]Chiba, N., and Nishivuki, T.,
*Arboricity and Subgraph Listing Algorithms*, SIAM J. of Comput. 14(1985), pp. 210–223Google Scholar - [Cl]
- [CV]Cole, R., and Vishkin, U.,
*Approximate and Exact Scheduling with Applications to List, Tree and Graph Problems*, Proc. 27^{th}IEEE FOCS (1986), pp. 478–491Google Scholar - [Co]Cook, S.A.,
*A Taxonomy of Problems with Fast Parallel Algorithms*, Information and Control 64 (1986), pp. 2–22Google Scholar - [DK 1]Dahlhaus, E., and Karpinski, M.,
*The Matching Problem for Strongly Chordal Graphs is in NC*, Research Report No. 855-CS, Department of Computer Science, University of Bonn 1986Google Scholar - [DK 2]Dahlhaus, E., and Karpinski, M.,
*Fast Parallel Computation of Perfect and Strongly Perfect Elimination Schemes*, IBM Research Report # RJ 5901 (59206), IBM Almaden Research Center, San Jose 1987; submitted for publicationGoogle Scholar - [GHS]Gabor, C.P., Hsu, W.L., and Supowit, K,J.,
*Recognizing Circle Graphs in Polynomial Time*, Proc. 26^{th}IEEE FOCS (1985), pp. 106–116Google Scholar - [GJ]Garey, M.R., and Johnson, D.S.,
*Computers and Intractability: A Guide to the Theory of NP-Completeness*, Freeman:San Francisco 1979Google Scholar - [Ga]Gavril, F.,
*Algorithms for Minimum Coloring, Maximum Clique, Minimum Coloring by Cliques, and Maximum Independent Sets of a Chordal Graph*, SIAM J. Comput. (1972), pp. 180–187Google Scholar - [GS]Goldberg, M., and Spencer, T.,
*A New Parallel Algorithm for the Maximal Independent Set Problem*, Proc. 28^{th}IEEE FOCS (1987), pp. 161–165Google Scholar - [Go]Golumbic, M.C.,
*Algorithmic Graph Theory and Perfect Graphs*, Academic Press, New York 1980Google Scholar - [GK]Grigoriev, D.Yu., and Karpinski, M.,
*The Matching Problem for Bipartite Graphs with Polynomially Bounded Permanents is in NC*, Proc. 28^{th}IEEE FOCS (1987), pp. 166–172Google Scholar - [GLS]Grötschel, M., Lovász, L., and Schrijver, A.,
*The Ellipsoid Method and its Consequences in Combinational Optimization*, Combinatorica 1 (1987), pp. 169–197Google Scholar - [Hi]Hirschberg, D.,
*Fast Parallel Sorting Algorithms*, Communications of the ACM 21(1978), No. 8, pp. 657–661Google Scholar - [Lu]Luby, M.,
*A Simple Parallel Algorithm for the Maximal Inpedendent Set Problem*, Proc. 17^{th}ACM STOC (1985), pp. 1–9Google Scholar - [MC]Mulligan, G.D., and Corneil, D.G.,
*Corrections to Bierstone's Algorithm for Generating Cliques*, JACM 19(1972), pp. 244–247Google Scholar - [NNS]Naor, J., Naor, M., and Schäffer, A.,
*Fast Parallel Algorithms for Chordal Graphs*, Proc. 19^{th}ACM STOC (1987), pp. 355–364Google Scholar - [Ra]Razborov, A.A.,
*Bound on the Monotone Network Complexity of the Logical Permanent*, Matem. Zametk 37 (1985); in RussianGoogle Scholar - [Ta]Tarjan, R.,
*Decomposition by Clique Separations*, Discrete Mathematics 55(1985), pp. 221–232Google Scholar - [TIAS]Tsukiyama, S., Ide, M., Ariyoshi, H. and Shirakawa, I.,
*A New Algorithm for Generating All the Maximal Independent Sets*, SIAM J. Comput 6(1977), pp. 505–517Google Scholar - [Wi]Wille, R.,
*Subdirect Decomposition of Concept Lattices*, Algebra Universalis 17(1983), pp. 275–287Google Scholar