Graph Coloring via Clique Search with Symmetry Breaking

: It is known that the problem of proper coloring of the nodes of a given graph can be reduced to ﬁnding cliques in a suitably constructed auxiliary graph. In this work, we explore the possibility of reducing the search space by exploiting the symmetries present in the auxiliary graph. The proposed method can also be used for efﬁcient exact coloring of hyper graphs. We also precondition the auxiliary graph in order to further reduce the search space. We carry out numerical experiments to assess the practicality of these proposals. We solve some hard cases and prove a new lower limit of seven for the mycielski7 graph with the aid of the proposed technique.


Introduction
An implemented algorithm for the maximum clique problem is aptly called a maximum clique solver. Maximum clique solvers have come a long way from the early attempts [1][2][3] to the fairly capable versions available today. These solvers can be used in industrial settings to solve practical discrete optimization problems.
This work is part of a larger project deploying maximum clique solvers for handling various problems. The authors have already tested this approach in connection with mathematical conjectures [4], hyper graph coloring [5], subgraph isomorphism [6] and scheduling problems [7]. The reader most likely agrees that using a clique solver is similar to using an integer program, a constraint program or a SAT solver. Consequently, it has a space in the toolbox of discrete optimization practitioners.
In this paper, we focus on the optimization problem of proper coloring of the nodes of a given graph with the minimum number of colors by reducing the coloring problem to a clique problem. Naturally, we are not the first to try this approach. There are well-known techniques to convert the coloring problem to a maximum independent set problem. For an example, see [8,9]. We make modifications and improvements to these reductions. For instance, we use the k-coloring decision problem instead of the minimization problem. We incorporate symmetry-breaking procedures in the decision version of the problem.
Solving a discrete optimization problem using clique solvers falls into two phases. In the first phase, one sets up an auxiliary graph such that the pertinent features of the problems are coded into this auxiliary graph. In the second phase, one submits the auxiliary graph to the clique solver. The guidelines of constructing an auxiliary graph are as an essential part of this modeling approach as constructing more and more efficient solvers. This phenomenon is well known in the linear programming community.
We see that incorporating one of the symmetry-breaking mechanisms doubles the number of vertices of the auxiliary graph compared to earlier auxiliary graphs without symmetry breaking [9]. Numerical experimentation shows that, in spite of the increase in the nodes of the new auxiliary graph, the search space represented by the search tree associated with the clique search is significantly reduced. The proposed method allowed us to prove a new lower limit 7 for the mycielski7 graph, which, to our knowledge, no other method has been able to do so far. In addition, the proposed method turned out to be the fastest for some cases.
We also introduce kernelization techniques to delete nodes and edges from the auxiliary graph before we submit it to a clique solver. These preconditioning or kernelization methods give a further boost to the clique search.
The structure of the present paper is as follows. First, we quickly describe the basic concepts. Second, we present the auxiliary graph constructions with and without symmetrybreaking methods. Further, we discuss the role of locating and coloring a clique in the originally given graph. Third, we point out that the ideas of this paper can be applied to proper coloring of the vertices of hyper graphs. Fourth, we briefly introduce some kernelization methods. Finally, we present a small toy size example and carry out extended numerical experiments from which we draw conclusions.

Definitions
In this paper, we work with graphs with a finite number of nodes and edges that do not have any double edges or loops. In short, we work with finite simple graphs. Let G = (V, E) be a finite simple graph. Here, V is the set of vertices, and E is the set of edges of graph G.
A subset ∆ of the nodes of a finite simple graph G is called a k-clique if each two distinct nodes of ∆ are adjacent in G. In the special case when ∆ has only one element, we still consider it a clique. For each finite simple graph G, there is an integer k such that G has a k-clique but G does not have any (k + 1)-clique. This well-defined integer k is called the clique number of G and is denoted ω(G). The optimization problem of computing the clique number of a given graph is a known NP hard problem. The decision problem of deciding if a given graph admits a k-clique for a given integer k, the so-called k-clique problem, is an NP complete problem (see [10,11]).
Subset I of the nodes of finite simple graph G is called an independent set if each two distinct nodes in I are not adjacent in G. If I has only one element, then it is still called an independent set. Note that if I is an independent set in G, then I is a clique in the complement graph of G and vice versa.
We say that coloring of the vertices of G is legal coloring, proper coloring or well coloring if each vertex has exactly one color and adjacent vertices receive distinct colors. The three adjectives for coloring are used freely and interchangeably in the present paper.
For each finite simple graph G, there is an integer k such that the nodes of G can be legally colored using k colors and cannot be legally colored with (k − 1) colors. This well-defined integer k is called the chromatic number of G and is denoted χ(G). It is well-known that the optimization problem of determining the chromatic number of a given graph is NP hard. The k-coloring problem, that is, deciding if the nodes of a given graph admit legal coloring with k colors is a known NP complete problem (see [10,11]). If one uses the numbers 1, . . . , k as colors, then coloring of the nodes of G can be described by map f : V → {1, . . . , k}. The equation f (v) = i codes the information that node v receives color i. The i-th color class C i consists of all nodes of G that receive color i. Coloring can also be described by listing the color classes C 1 , . . . , C k . Note that color class C i is an independent set in graph G. Partitioning the set of nodes V of graph G into k independent sets amounts to legally coloring the nodes of G. A nice survey and a taxonomy of the exact node-coloring methods are presented in [12].

The Ordered Pairs Auxiliary Graph
The problem of deciding if the n nodes of a given graph G can be legally colored using k colors can be reduced to the problem of deciding if a suitably constructed auxiliary graph Γ with nk nodes contains an n-clique [9]. For the sake of easier reference, we sketch here the construction of the auxiliary graph Γ.
The nodes of Γ are the ordered pairs [v, c], where v is a vertex of G, and c is one of the k colors we use to color the nodes of G. The intended intuitive meaning of pair [v, c] is that node v receives color c. The nodes of the auxiliary graph Γ are also colored. Namely, to node [v, c], we assign v as a color. Two distinct nodes [v 1 , c 1 ], [v 2 , c 2 ] are not adjacent in Γ if they receive the same color, that is, when v 1 = v 2 . As a consequence, the nodes of Γ are legally colored using n colors. Two distinct nodes [v 1 , It was proved in [9] that if the nodes of G can be legally colored using k colors, then the auxiliary graph Γ contains an n-clique. Further, if the auxiliary graph Γ has an n-clique, then the nodes of G can be legally colored using k colors.
We describe a simple observation that can serve as a symmetry breaking tool. We refer to the trick as coloring the nodes of a clique in G. Suppose we are facing the problem of whether the n nodes of a given graph G can be legally colored using the colors 1, . . . , k. We try to solve this k-coloring problem by locating an n-clique in the auxiliary graph Γ with nk nodes. Let ∆ be an s-clique in the graph G. Note that the nodes x 1 , . . . , x s of the clique ∆ must receive pairwise distinct colors. We may assume that the nodes x 1 , . . . , x s receive the colors 1, . . . , s, respectively, since this is only a matter of rearranging the colors 1, . . . , k among each other in the legal k-coloring of the nodes of G.
The fact that the nodes x 1 , . . . , x s of the clique ∆ receive the colors 1, . . . , s, respectively, means that the ordered pairs [x 1 , 1], . . . , [x s , s], as nodes of the auxiliary graph Γ, must be nodes of any n-clique in Γ that corresponds to legal k-coloring of the nodes of the given graph G. In other words, at this stage of the symmetry-breaking construction, we are fixing the colors of nodes x 1 , . . . , x s to be the colors 1, . . . , s. Naturally, we may restrict the auxiliary graph Γ to the set of common neighbors of the nodes [x 1 , 1], . . . , [x s , s]. After deleting the nodes from the restricted auxiliary graph, we may look for an (n − s)-clique in the reduced auxiliary graph in order to locate an n-clique in the original auxiliary graph Γ.
We refer to this symmetry-breaking procedure as coloring the nodes of clique ∆ in G. Needless to say, the more nodes clique ∆ has, the more efficient our reduction procedure is. Consequently, we try to locate a relatively large clique ∆ in G. It is also clear that we may use any greedy procedure to locate clique ∆ in G.

The Ordered Triplets Auxiliary Graph
In this section, we introduce a new auxiliary graph. The purpose is to augment the previously introduced auxiliary graph with a symmetry-breaking technique, named representative node formulation [13].
Let G = (V, E) be a finite simple graph, and let k be a positive integer. Here, we assume that the nodes of G are labeled with the integers 1, . . . , n; that is, we assume that V = {1, . . . , n}. Using G and k, we construct a new auxiliary graph Γ = (W, F). The nodes of Γ are ordered triples in the form The number z is called the type of the triple. We talk about Type-1 and Type-2 nodes depending on whether z = 1 or z = 2. The intended intuitive meaning of a Type-1 node w = [x, y, z] of Γ is that node x of G receives color y. The intended intuitive meaning of a Type-2 node w = [x, y, z] of Γ is that node x of G receives color y, and, in addition, x is the first element of the y-th color class. In other words, if node x of G receives color y, then x ≤ x must hold. We point out that it makes sense to talk about first, second and last elements of a color class as the nodes of graph G admit the natural ordering of the numbers 1, . . . , n.
We color the nodes of Γ in the following manner. If w = [x, y, z] is a Type-1 node of Γ, then we assign x as a color to w. If w = [x, y, z] is a Type-2 node of Γ, then we assign (n + y) as a color to w. The auxiliary graph Γ has (2nk) nodes, and the nodes are colored with (n + k) colors.
We describe the adjacency in Γ. Let be distinct nodes of Γ. As a starting point, we connect each two distinct nodes of Γ with an edge; that is, at the beginning of the construction, Γ is a complete graph. If nodes w 1 , w 2 receive the same color in Γ, then we make them nonadjacent in Γ by deleting the edge connecting them. For the remaining part of the construction, we assume that w 1 , w 2 do not receive the same color. We distinguish cases depending on the types of w 1 , w 2 .
Assume first that w 1 , w 2 are both Type-1 nodes of Γ; that is, z 1 = z 2 = 1. If x 1 , x 2 are adjacent vertices in G, and y 1 = y 2 , then w 1 , w 2 are not adjacent in Γ, and we delete the corresponding edge from Γ.
Assume next that w 1 , w 2 are both Type-2 nodes of Γ; that is, z 1 = z 2 = 2. If x 1 ≥ x 2 and y 1 ≤ y 2 , then w 1 , w 2 are not adjacent in Γ, and we delete the corresponding edge from Γ. If x 1 ≤ x 2 and y 1 ≥ y 2 , then w 1 , w 2 are not adjacent in Γ, and we delete the corresponding edge from Γ.
Finally, assume that w 1 , w 2 are Type-1, Type-2 nodes of Γ, respectively; that is, z 1 = 1, z 2 = 2. If x 1 < x 2 and y 1 ≥ y 2 , then w 1 , w 2 are not adjacent in Γ, and we delete the corresponding edge from Γ. Further, if x 1 = x 2 and y 1 = y 2 , then w 1 , w 2 are not adjacent in Γ, and we delete the corresponding edge from Γ.

Lemma 1.
If the nodes of G can be legally colored using k colors, then the auxiliary graph Γ contains an (n + k)-clique.
Proof. Suppose that the nodes of G are legally colored using the colors 1, . . . , k, and C 1 , . . . , C k are the colors classes of the nodes. We set We may assume that µ(1) < · · · < µ(k) holds since this is only a matter of exchanging the colors 1, . . . , k among each other. In other words, we may assume that the function µ : {1, . . . , k} → {1, . . . , n} is a strictly increasing function.
Let f : V → {1, . . . , k} be the map that describe the coloring of the nodes of G. (Here, V = {1, . . . , n} is the set of nodes of G). Note that f (µ(i)) = i holds for each i, 1 ≤ i ≤ k. We claim that the triples are the nodes of an (n + k)-clique in Γ. In plain English, we claim any two of these (n + k) nodes are pairwise adjacent. In order to prove the claim, we verify the following. The distinct nodes of the auxiliary graph Γ are adjacent for each i, j, 1 ≤ i < j ≤ n. In plain English, the first (n) nodes are pairwise adjacent. The distinct nodes of the auxiliary graph Γ are adjacent for each i, j, 1 ≤ i < j ≤ k. In plain English, the last (k) nodes are pairwise adjacent. The distinct nodes of the auxiliary graph Γ are adjacent for each i, j, 1 ≤ i ≤ n, 1 ≤ j ≤ k. In plain English, any of the first n nodes are adjacent to any of the last k nodes. We first consider (1). When the unordered pair {i, j} is not an edge of G, then by the definition of Γ, the nodes w 1 , w 2 are adjacent in Γ. When the unordered pair {i, j} is an edge of G, then the inequality i < j implies f (i) = f (j) as f defines a legal coloring of the nodes of G. The definition of Γ gives that nodes w 1 , w 2 are adjacent in Γ.
Next, we consider (2). In this situation, i < j implies µ(i) < µ(j). By the definition of Γ, it follows that nodes w 1 , w 2 are adjacent in Γ.
Finally, we consider (3). If i < µ(j), then node i of G cannot be an element of the color class C j , and so it follows that f (j) > f (i). Using f (j) = j, we get that i < µ(j) and f (i) < j hold. The definition of Γ gives that nodes w 1 , w 2 are adjacent in Γ.

Lemma 2.
If the auxiliary graph Γ contains an (n + k)-clique, then the nodes of G can be legally colored using k colors.
Proof. Let ∆ be an (n + k)-clique in Γ. The nodes of Γ are legally colored with (n + k) colors. It follows that the (n + k) nodes of ∆ receive all the possible (n + k) colors. Therefore, the nodes of ∆ are in the following forms.
The first n nodes of ∆ receive the colors 1, . . . , n, and the last k nodes of ∆ receive the colors n + 1, . . . , n + k, respectively. The color of node [x r , y r , 1] in Γ is x r . Thus elements x 1 , . . . , x n form a rearrangement of elements 1, . . . , n. In other words, . . , k} be the map defined by f (x r ) = y r . We claim that the coloring of the nodes of G described by the map f is a legal coloring of the nodes of G. In order to verify the claim, assume on the contrary that the unordered pair {x i , x j } is an edge of G, and On the other hand, the nodes w 1 , w 2 are distinct nodes of the clique ∆, and they must be adjacent in Γ.
The symmetry-breaking trick of coloring the nodes of a clique ∆ in the given graph G can be applied in connection with triplet auxiliary graphs as well.
Find an s-clique ∆ and color the nodes x 1 , . . . , x s with the colors 1, . . . , s, respectively. Note that we may rename nodes 1, . . . , n of graph G such that nodes x 1 , . . . , x s of ∆ are identical to nodes 1, . . . , s of G. As a next step, we may reduce the auxiliary graph. First, we restrict the auxiliary graph to the common neighbors of nodes 1, . . . , s. Next, we delete nodes 1, . . . , s from the reduced auxiliary graph.

Chromatic Number via Maximum Clique
In connection with a given graph G, we use four auxiliary graphs Γ 1 , Γ 2 , Γ 3 , Γ 4 systematically. Here Γ 1 , Γ 3 are the pair and triplet auxiliary graphs, respectively, while Γ 2 , Γ 4 are reduced graphs we get after coloring the nodes of a clique in the given graph G. For each of the above auxiliary graphs, add some extra nodes and construct a new auxiliary graph (Γ i ) . Feeding graph (Γ i ) into a maximum clique problem solver, we determine the size of a maximum clique. Using the clique number of (Γ i ) , we determine the chromatic number χ(G) of the given graph G.
As a first step, we establish a lower bound B l and an upper bound B u for the chromatic number χ(G) of G. For the sake of definiteness and for the sake of simplicity using a greedy procedure, we locate a clique in graph G. The size of this clique provides the lower bound B l for χ(G). A greedy-coloring procedure applied to the nodes of G gives the upper bound B u for χ(G). Of course, the reader is free to use more-sophisticated methods for finding the bounds B l , B u .
As a second step, we set k = B u − 1 and construct the ( Here is the construction. We add t = k − B l extra nodes a 1 , a 2 , . . . , a t to the graph Γ i . The intended intuitive meaning of node a j is that color B l + j is not used in the coloring of the nodes of graph G. As a third step, we add new edges to the graph (Γ i ) : • Connect a p and a q with an edge for each p, q; • Connect a p to the ordered pair [x, y] with an edge for each x and y < B l + p (for Γ 1 , Γ 3 ); • Connect a p to the ordered triplet [x, y, z] with an edge for each x and y < B l + p, z ∈ {1, 2} (for Γ 2 , Γ 4 ).
After computing the clique number ω a of the newly constructed auxiliary graph, we can calculate the chromatic number of the given graph G.
For a Type-1 auxiliary graph, if ω a < n, then s is the size of the clique ∆ we located and colored in G).
For a Type-3 auxiliary graph, if ω a < n + k then For a Type-4 auxiliary graph, if ω a < n + k − 2s, then

Coloring Hyper Graphs
The purpose of this section is to extend the symmetry-breaking methods from ordinary graphs to hyper graphs. In our setting, a hyper graph H is an ordered pair (V, E), where V is the set of vertices of H, and E is a family of subsets of V. We refer to the elements of E as hyper edges of H. We do not assume that the members of E all have the same number of elements. Coloring the vertices of H is called legal, proper or well coloring if each vertex receives exactly one color and vertices belonging to a hyper edge do not all receive the same color. In other words, monochromatic edges are not allowed.
In [5], the authors described how well coloring of the vertices of a given hyper graph can be reduced to a clique search in a suitably constructed ordinary graph. The reader can notice that if the vertices of a hyper graph are well-colored using k colors, then the colors can be permuted among each other and the resulting vertex coloring of the hyper graph remains a well coloring. In this way, one particular well coloring of the vertices leads to a large number of new well colorings of the hyper graph. Namely, we end up with (k!) new colorings. Here, k is the number of colors used in the coloring.
In an earlier part of this paper, we saw that in the special case of coloring the vertices of an ordinary graph, we may reduce the size of the search space of the associated clique search by introducing some symmetry-breaking tools. In what follows, we point out that ideas similar to those used for ordinary graphs can be used for symmetry-breaking in the case of hyper graphs.
In [5], an ordinary auxiliary graph Γ was assigned to a given hypergraph H = (V, E). In the course of the construction of Γ, the hyper edges of H are divided into pairwise disjoint subsets, so-called tiles. Depending on the number of tiles, one computes a number r. The essential property of this assignment is that a well coloring of the vertices of H using k colors corresponds to a clique of size r in the auxiliary graph Γ. Conversely, a clique of size r in Γ corresponds to a well coloring of the vertices of H using k colors.
Using graph Γ, we construct a new auxiliary graph Γ . Here again, we use the representative node technique by adding new nodes to the auxiliary graph Γ to get Γ Suppose U is the set of vertices of Γ, and the elements of V are listed in a fixed order during construction. We consider the ordered pairs (v, c), where v ∈ V, and 1 ≤ c ≤ k. The intended intuitive meaning of pair (v, c) is that the vertex v of the hyper graph H receives color c, and, in addition, node v is the first element in its color class. Because of the ordering of the vertices of H, it makes sense to talk about the first element of a color class. Let The set W = X ∪ U is the set of nodes of the new auxiliary graph Γ . Note that sets X and U are disjointed.
Two distinct elements w 1 and w 2 of W are adjacent in Γ whenever they are adjacent in Γ.
Two distinct elements (v 1 , c 1 ) and (v 2 , c 2 ) of X cannot be adjacent in Γ if v 1 ≤ v 2 and c 1 ≥ c 2 .
Finally, let us turn to the case of when vertex u ∈ U and vertex (v, c) ∈ X are adjacent in Γ . In the definition of the auxiliary graph Γ, vertex u carries an intuitive meaning regarding colors that certain well-defined nodes of hyper graph H receive. We connect the nodes u and (v, c) with an edge in Γ if the color assignments specified in the definition of Γ do not violate the fact that node v receives color c.
The essential property of the new auxiliary graph Γ is the following: A well coloring of the nodes of hyper graph H using k colors corresponds to a clique of size (r + k) in Γ . Conversely, a clique of size (r + k) in Γ corresponds to a well coloring of the nodes of H using k colors.
With the same technique, we can add symmetry-breaking to other types of hyper graph colorings, such as rainbow coloring or C-D coloring.

Kernelization
Let us denote the size of the clique we are looking for in the Γ auxiliary graph by z for the rest of this paper.
In the ordered-pairs auxiliary graph Γ 1 associated with G, we are looking for an nclique, that is, z = n. For Γ 2 , where we color the nodes of clique ∆, z = n − |∆|. For Γ 3 , the triplets auxiliary graph, z = n + k, and for Γ 4 , z = n + k − 2|∆|.
It is reasonable to try to kernelize the auxiliary graph Γ.
Let v be a vertex of Γ, and let H be the subgraph of Γ induced by the set N(v). We showed that the nodes of Γ are legally colored using z colors (Though, this is not a perfect graph). As a consequence, the nodes of H are colored. We call the number of colors of the nodes of H the color-degree of node v.

Lemma 3.
A node whose color degree is less than (z − 1) can be deleted from Γ when we are looking for a z-clique in Γ. An edge whose color degree is less than (z − 2) can be deleted from Γ when we are looking for a z-clique in Γ. The following result has been proved in [14].

Lemma 4.
If node v dominates node u, then u maybe be deleted from Γ when we are looking for a z-clique in Γ. If edge f dominates edge e, then e maybe deleted from Γ when we are looking for a z-clique in Γ.
Obviously a full-degree node can be deleted from the graph when we are looking for the clique number of the graph. We should keep in mind this deletion reduces the clique number by one. For the sake of easier reference, we state this result as a lemma.

Lemma 5.
A full-degree node can be deleted from Γ when we are looking for a z-clique in Γ.
We listed here only the simplest kernelization methods that can be applied for kernelization of a k-partite graph. For more extended methods, including β-transformation, specialized struction and the concept of black-red edges, see [7].
A possible kernel of the graph Γ is constructed from Γ by deleting nodes and edges by repeatedly applying Lemmas 3-5 and by other methods from [7]. Our experiments show that these reductions reduce the graphs quite well, and repeatedly applying them helps a lot.
As for the maximum clique reformulation in Section 5, the situation is a bit more complicated. One would like to first reduce the auxiliary graph by the previous rules and to add the extra nodes. However, there are important differences. Lemma 4-in contrast to the other two lemmas-can delete z-cliques from Γ, ensuring that at least one z-clique remains. However, for the maximum clique reformulation, this behavior breaks the mathematical result. Thus, we can first reduce the graph by Lemmas 3 and 5, and afterward add the extra nodes. However, we can apply Lemma 4 only after adding these nodes, and we cannot use the other two lemmas later, making this approach less suitable for kernelization.
Overall, our experiments proved that, although this reformulation is interesting, solving decision problems is more efficient after all.

A Small-Size Toy Example
In this section, we work out a small-size toy example in detail to illustrate our definitions and constructions. Example 1. Let us consider the graph G = (V, E) given by its adjacency matrix in Table 1    In this particular case, n = 4, k = 3, and the triplet auxiliary graph Γ has (2nk) = 24 vertices. The vertices of Γ are listed in Table 2, including the types and colors assigned to them in Γ. The adjacency matrix of Γ is in Table 3. The auxiliary graph has 144 edges. The nodes of graph Γ are well-colored using 7 colors, and we are looking for a 7-clique in Γ.
By inspecting the adjacency matrix, the reader may notice that the color-degree of node [4,1,2] is equal to 1, so Lemma 3 gives that this node can be deleted from Γ. Next, one may notice that the color degrees of nodes [1, 2, 1], [1,3,1] are small, and so these nodes can also be deleted. Continuing in this way, we end up with a reduced version of Γ, the adjacency matrix of which is enclosed in Table 4.     1  2  3  3  4  1  2  3  4  1  2  1  3  3  1  2  3  3  1 1 The reduced graph has five full-degree nodes; thus, one can draw a geometric representation of the graph easily. A possible geometric representation of the reduced auxiliary graph is depicted in Figure 2. We can locate two 7-cliques in the reduced graph. The nodes of these cliques are the following:  [4,3,2].
Using the definition of the nodes, we can read two distinct well colorings of the nodes of the originally given graph G. These colorings of the nodes of G are listed in Table 5.

Numerical Experiments
The present paper describes some new ideas for exact graph coloring. Although the results are not mature, and the present work is rather preliminary, we would like to demonstrate the effectiveness of this approach by comparing our results to results of other well-known graph coloring applications. We restrict ourselves to graph coloring, as the literature on exact hyper graph coloring is scarce. We also decided to exclude reformulation when maximum clique of the auxiliary graph gives us the minimum coloring of the graph as detailed in Section 5. The reason behind this is that we have less-effective preconditioning tools for maximum clique search compared to preconditioning on the k-clique search in k-partite graphs.

Setting Up the Testbed
Before making comparative measurements, one needs to make a decision about the different approaches listed above. Apart from setting aside maximum-clique reformulation, as preliminary tests showed its inferiority due to less-efficient kernelization, there are still four different reformulations. Further, preconditioning takes its toll, while it reduces the graph, the reduction may help too little, and the time for preconditioning may be too long. First, then, we need to compare the four reformulations each with or without preconditioning. For this purpose, we choose three moderately hard example cases. Note that because we tune to hard cases, we may be a bit less efficient for other, easy cases. The results are summarized in Table 6. In the table, we first list the name of the graph for the test, the size (number of nodes) of the graph and the chromatic number of the graph. For testing, we set k = χ(G) − 1 to prove that the graph cannot be colored with one fewer colors than the chromatic number. We find a greedy maximal clique by using maximum-neighbors heuristics, and we list the size of the clique. We construct Γ 1 , Γ 2 , Γ 3 , Γ 4 . We list the size of Γ and the z number, that is, the size of the clique should one prove not to be present in the graph according to Section 7. Then, we solve the problem by using our clique search program for k-clique from [15], and we list the running time in seconds. Next, we perform extended preconditioning according to [7], and we list the running time. The size of the reduced graph and the new z-number is listed; because of preconditioning, the number of color classes and the clique size one must find in the preconditioned graph changes. Note that preconditioning allows slight increases to the graph, so in some cases, the reduced graph may be bigger. In some cases, preconditioning reduces the graph to size 0 and thus solves the problem by itself. Next, we run the k-clique search on the reduced graph, listing the running times. Finally, we list the overall running time to solve the problem. The term "tl" denotes running time over the time limit, which was 24 h in this case.
Although intermediate results from these examples are quite mixed, the final results are clear. Reformulation to Γ 4 with preconditioning is the right method, which obviously was the expected outcome. So for the experiments, we use this method.

Extended Tests
We compare our approach to four different state-of-the-art programs. The first, by Zhou et al. [16], is a backtracking algorithm aided by a SAT solver. The second and third are by Cornaz et al. [17]. The second uses a smart reformulation to LP and solves the problem with column generation. The third uses representative form reformulationthe same symmetry-breaking technique we use in the present paper. The fourth, by Malaguti et al. [18], uses a pure LP approach and solves the problem using a Branch-and-Price algorithm and column generation. Note that the first method is not fully comparable to the other three in terms of speed, as the first can solve instances that the others cannot and vice versa. Being fully combinatorial, it is not surprising that our method is closer to the first program by Zhou et al. The program from Zhou et al. can be downloaded, so we reproduced the calculations on our computer with a recompiled program. The programs from Cornaz et al. and from Malaguti et al. are not available, so we ended up using the results from the original papers. Because of the differences amongst the computers, in order to compare the results, we set the time limit of our runs to 3 h 45 m-that is, 13,500 s, which roughly equals the scaled time limit from [17]. Further, while using data from [17], we scaled those results by dividing the running times by 1.74. The data from [18] was scaled by dividing by 2.7.
The steps of the calculations follow: 1.
We located a possibly big clique ∆ by a simple algorithm (choosing the biggest degree nodes iteratively)-this is our lower bound (lb); 2.
We constructed the auxiliary graph Γ 4 using k ∈ {ub − 1, . . . , lb}; that is, for all possible k between the bounds in a top-down approach. However, we stopped if we reached a conclusive result; 4.
We applied the above-described kernelization steps on the resulting graphs;

5.
We performed a z-clique search on the kernelized auxiliary graphs using our k-clique program [15].
Locating a clique, coloring the graph and constructing the auxiliary graph for most benchmark problems was fast-under 0.1 seconds in the presented cases. The full running time was dominated by the time for preconditioning and the time for the z-clique search in the auxiliary graph. Kernelization of some graphs could delete every edge and node from that graph eventually, which resulted in an empty graph. In this case, we did not need to run the clique search, as we already knew that there was no z-clique in the graph. The results are summarized in Table 7. The columns correspond to the above-listed state-of-the-art programs, while the last column is the program of the present paper. The results are quite interesting. The miles graphs, with the exception of miles1000, could be solved by our method simply because we could locate a clique in them of the same size as the numbers of colors we could color the graph with. In these cases, we need not run our clique search at all. Some other graphs, for example miles1000, could be solved by only preconditioning. Some time results of the Zhou et al. program were not consistent with their paper (the queen9_9 is much better, while 1-FullIns_5, 2-FullIns_4, 3-FullIns_3, 5-FullIns_3, huck and games120 are much worse), so this problem needs more investigation. For other instances, our approach is quite close to the Zhou et al. program.
If we calculate the first places from Table 7, that is, the data denoted with boldface, including draws between the first two application, then the results are as follows. First place is Malaguti MMT-BP, with 11 first places. Second is our approach, with 10 first places. Third is Zhou cdclGCP, with 7 first places. Programs from Cornaz gained 4 and 3 first places. If we calculate the number of instances solved within the time limit, then the program Zhou cdclGCP and our approach both solved 34 out of 58 instances, and Zhou cdclGCP solved 25 out of 58 instances. Programs from Cornaz et al. solved 23 and 25 out of 37 instances.
Not listed in the table, we also solved the mycielski7 graph for k = 6 in 19,161 s; which proves that there is no proper 6 coloring of the graph mycielski7. This result improves the previously calculated lower limit for this instance to 7, while the usual good lower bound is 5, and the previous best is 6. The program from Zhou et al. could not solve the same question in 48 h.
Note though, the downside of our approach. There are some instances, not listed in the table, that our approach simply could not handle. These are the more dense instances with a higher chromatic number. In these cases, our reformulation constructs a huge graph, as the basic size of our graph is (nk). These auxiliary graphs can be of size ten thousand or more, and thus are beyond our approach. Basically, if the Γ graph is over 3000 nodes, and after preconditioning, the resulting graph is over 1000 nodes, then our approach usually cannot solve the instance. One may conclude that in those cases the auxiliary graphs from Cornaz et al., whose sizes are small in these cases and big in cases favoring our approach, are better for solving such problems. This orthogonal property may lead to a portfolio approach, in which, after inspecting the graph, one can choose between the two methods.

Conclusions
Our main goal in the present paper was to elaborate on the question if clique search can be used as a generic solver for different problems. We showed not just a reformulation of the graph-coloring problem to the k-clique problem, but we also introduced symmetrybreaking techniques in this formulation. In our previous paper, we already showed that preconditioning can be very efficient for such k-partite graphs. With the aid of strong preconditioning and a good clique-solver, our approach proved to be quite efficient in some cases. Note that this special question-the existence of a k-clique in a k-partite graph-has become more important in the last years (see [21][22][23][24][25]).
The present paper is a rather preliminary work, and there are many improvements possible to the present approach. It is clear that preconditioning of the auxiliary graph is crucial for effective solutions (see Table 6), so searching for more-effective preconditioning may lead to much better applications. Further, preconditioning of the original graph may prove its importance as well [26]. In their paper showing results on representative formulation, the authors of [17] expressed the importance of node ordering. It is left unanswered if such an effect would speed up the present approach or not, and if it would, what is the best possible reordering of the nodes. Finally, the k-clique search was performed by a program aimed to work on general graphs, while the present graphs have a special property: they are k-partite. Using a specialized k-clique solver that exploits the k-partite property may also be useful.