An exact bit-parallel algorithm for the maximum clique problem
Introduction
A complete graph, or clique, is a graph such that all its vertices are pairwise adjacent. The k-clique problem determines the existence of a clique of size k for a given graph G and is well known to be NP-complete [1]. The corresponding optimization problem is the maximum clique problem (MCP) which consists in finding the largest possible clique in G. Finding a maximum clique in a graph has been deeply studied in graph theory and is a very important NP-hard problem with applications in many fields: bioinformatics and computational biology [2], [3], computer vision [4], robotics [5], etc. A slightly outdated but nevertheless good survey on maximum clique applications can be found in Chapter 7 of [6].
Bit parallelism is an optimization technique which exploits the ability of CPUs to compute bit operations in parallel the size of the ALU register word R (typically 32 or 64 in commercial computers). Bit models are employed frequently to encode board games. In many chess programs (e.g. [7], [8]), the bits in a 64-bit bitboard represent the Boolean value of a particular property concerning the 64 squares of the chessboard. A typical bit model for the position on the board consists of 12 bitboards (6 for each piece, each piece having two possible colors), with the interpretation ‘placement of all 〈type-of-piece〉 〈color〉 on the board’. Other examples of bit-parallel search outside game theory are regular expression and string matching where it has become one of the most popular techniques. In string matching the aim is to find a pattern of length m in a text of length n; when at most k mismatches are allowed it is referred to as approximate string matching with innumerable applications: text searching, computational biology, pattern recognition, etc. An important algorithm for approximate string matching is bit-parallel Shift-Add [9], where the use of bit-parallelism reduces worst case linear complexity by a factor R.
Since the maximum clique problem is NP-hard no efficient exact polynomial time algorithms are expected to be found. However, many efforts have been made at implementing fast algorithms in practice. An important paradigm for exact maximum clique is branch and bound as in [10], [11], [12], [13], [14]. These algorithms perform a systematic search pruning false solutions by computing bounds dynamically. The tradeoff between computational cost and tight bounds is maximized using a technique called vertex-coloring. In vertex-coloring, vertices in a graph are assigned a color such that pairwise adjacent vertices are all colored differently. The number of colors employed in the process is an upper bound to the size of the maximum clique in the graph. Vertex-coloring is also NP-hard [1] so this procedure can only be applied suboptimally to obtain bounds for maximum clique.
In this paper we present improvements to reference maximum clique algorithms found in [10], [14]. Improving the speed of a maximum clique algorithm by selective reordering of vertices to vary tightness of bounds is experimentally analyzed in [14]. We further improve approximate coloring by using an implicit global degree branching rule which fixes the relative order of vertices throughout the search. Moreover, the new branching rule maps seamlessly with a bit string encoding so that, at each step, the implicit ordering is computed in constant time. In addition, graph transitions and approximate coloring can be implemented through efficient bitwise operations thereby improving overall performance by an additional constant factor.
The proposed bit-parallel algorithm has been tested on random graphs and the well known DIMACS benchmark developed as part of the Second DIMACS Challenge [15]. Results show that it outperforms, on average, the current reference algorithms in some cases by an order of magnitude (exceptionally even more) on the more difficult dense graphs, while preserving superior performance in the easier sparse instances.
This paper is structured from here in four parts. Section 2 covers a preliminary review of the basic ideas and notation used throughout the text. Section 3 starts with coverage of previous existing algorithms and strategies for successful MCP exact solvers, including the basic reference algorithm and approximate coloring procedures. 3.2 Approximate coloring algorithms, 3.3 A bit-parallel maximum clique algorithm explain the new bit-parallel maximum clique algorithm. To preserve clarity, a final subsection has been added to include an explanatory example. Results of experiments are shown in Section 4. Finally, conclusions as well as current and future lines of research are discussed in Section 5.
Section snippets
Notation
A simple undirected graph G=(V,E) consists of a finite set of vertices V={v1, v2, …, vn} and a finite set of edges E made up of pairs of distinct vertices ().Two vertices are said to be adjacent if they are connected by an edge. The complement of G is a graph on the same vertices as G such that two vertices in are adjacent iff they are not adjacent in G. For any vertex , N(v) (or NG(v) when the graph needs to be made explicit) denotes the neighbor set of v in G, i.e. the set of
Basic maximum clique procedure
Our reference basic branch and bound procedure for finding a maximum clique is described in Fig. 1. In MaxClique search takes place in a graph space. It uses two global sets S and Smax, where S is the set of vertices of the currently growing clique and Smax is the set of vertices which belong to the largest clique found so far. The algorithm starts with an empty set S and recursively adds (and removes) vertices from S until it verifies that it is no longer possible to unseat the current
Experiments
We have implemented in C language a number of algorithms for the experiments: MC (the reference MaxClique algorithm proposed by Tomita and Seki which includes the original approximate coloring procedure), MC-KJ (the Konc and Janečič approximate coloring variant), and our new bit-parallel BB-MaxClique. Computational experiments were performed on a 2.4 GHz Intel Quad processor with a 64 bit Windows operating system (R=64). The time limit for all the experiments was set at 5 h (18000 seconds) and
Conclusions and future work
In this paper, we describe an exact bit-parallel algorithm for the maximum-clique problem. The algorithm employs a new implicit global degree branching rule to obtain tighter bounds so that the search space is reduced on average w.r.t. leading reference algorithms. An important advantage is that the new branching rule maps seamlessly to a bit encoding: at every step transitions and bounds are computed efficiently through bit masking achieving global reordering of vertices as a side effect. This
Acknowledgments
This work is funded by the Spanish Ministry of Science and Technology (ARABOT: DPI 2010-21247-C02-01) and supervised by CACSA whose kindness we gratefully acknowledge. We also thank Dr. Stefan Nickel for his valuable suggestions.
References (24)
- et al.
Clique-detection models in computational biochemistry and genomics
Eur J Oper Res
(2006) - et al.
An exact algorithm for the maximum clique problem
Oper Res Lett
(1990) A new trust region technique for maximum weight clique
Discrete Appl Math
(2006)- Karp RM. In: Miller RE, Thatcher JW, editors. Reducibility among combinatorial problems. New York: Plenum; 1972. p....
- et al.
Point matching under non-uniform distortions and protein side chain packing based on efficient maximum clique algorithms
Genome Inform
(2002) - et al.
A view invariant human FACE detection method based on maximum cliques
Trans IPSJ
(2003) - San Segundo P, Rodríguez-Losada D, Matía F, Galán R. Fast exact feature based data correspondence search with an...
- et al.
Hand book of combinatorial optimization, Supplement A
(1999) How dark thought plays chess
ICCA J
(1997)Scalable search in computer chess
(2000)
A new approach to text searching
Commun ACM
Cited by (136)
CliSAT: A new exact algorithm for hard maximum clique problems
2023, European Journal of Operational ResearchAn approximation lagrangian-based algorithm for the maximum clique problem via deterministic annealing neural network
2022, Journal of the Franklin InstituteA new branch-and-filter exact algorithm for binary constraint satisfaction problems
2022, European Journal of Operational ResearchAn effective branch-and-bound algorithm for the maximum s-bundle problem
2022, European Journal of Operational ResearchA branch-and-cut algorithm for the Edge Interdiction Clique Problem
2021, European Journal of Operational Research