New Algorithms for Enumerating All Maximal Cliques

* Final gross prices may vary according to local VAT.

Get Access

Abstract

In this paper, we consider the problems of generating all maximal (bipartite) cliques in a given (bipartite) graph G=(V,E) with n vertices and m edges. We propose two algorithms for enumerating all maximal cliques. One runs with O(M(n)) time delay and in O(n 2) space and the other runs with O(Δ4) time delay and in O(n+m) space, where Δ denotes the maximum degree of G, M(n) denotes the time needed to multiply two n × n matrices, and the latter one requires O(nm) time as a preprocessing.

For a given bipartite graph G, we propose three algorithms for enumerating all maximal bipartite cliques. The first algorithm runs with O(M(n)) time delay and in O(n 2) space, which immediately follows from the algorithm for the non-bipartite case. The second one runs with O(Δ3) time delay and in O(n+m) space, and the last one runs with O(Δ2) time delay and in O(n+m+NΔ) space, where N denotes the number of all maximal bipartite cliques in G and both algorithms require O(nm) time as a preprocessing.

Our algorithms improve upon all the existing algorithms, when G is either dense or sparse. Furthermore, computational experiments show that our algorithms for sparse graphs have significantly good performance for graphs which are generated randomly and appear in real-world problems.