1. 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 symmetry-breaking 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.
2. 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 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
-clique. This well-defined integer
k is called the clique number of
G and is denoted
. 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
colors. This well-defined integer
k is called the chromatic number of
G and is denoted
. 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
as colors, then coloring of the nodes of
G can be described by map
. The equation
codes the information that node
v receives color
i. The
i-th color class
consists of all nodes of
G that receive color
i. Coloring can also be described by listing the color classes
. Note that color class
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].
3. 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
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 , 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 is that node v receives color c. The nodes of the auxiliary graph are also colored. Namely, to node , we assign v as a color. Two distinct nodes , are not adjacent in if they receive the same color, that is, when . As a consequence, the nodes of are legally colored using n colors. Two distinct nodes , are not adjacent in if the unordered pair is an edge of G and .
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 . We try to solve this k-coloring problem by locating an n-clique in the auxiliary graph with nodes. Let be an s-clique in the graph G. Note that the nodes of the clique must receive pairwise distinct colors. We may assume that the nodes receive the colors , respectively, since this is only a matter of rearranging the colors among each other in the legal k-coloring of the nodes of G.
The fact that the nodes of the clique receive the colors , respectively, means that the ordered pairs , 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 to be the colors . Naturally, we may restrict the auxiliary graph to the set of common neighbors of the nodes . After deleting the nodes from the restricted auxiliary graph, we may look for an -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.
4. 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
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
; that is, we assume that
. Using
G and
k, we construct a new auxiliary graph
. 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 or . The intended intuitive meaning of a Type-1 node of is that node x of G receives color y. The intended intuitive meaning of a Type-2 node 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 of G receives color y, then 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 .
We color the nodes of in the following manner. If is a Type-1 node of , then we assign x as a color to w. If is a Type-2 node of , then we assign as a color to w. The auxiliary graph has nodes, and the nodes are colored with 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 , 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 , do not receive the same color. We distinguish cases depending on the types of , .
Assume first that , are both Type-1 nodes of ; that is, . If , are adjacent vertices in G, and , then , are not adjacent in , and we delete the corresponding edge from .
Assume next that , are both Type-2 nodes of ; that is, . If and , then , are not adjacent in , and we delete the corresponding edge from . If and , then , are not adjacent in , and we delete the corresponding edge from .
Finally, assume that , are Type-1, Type-2 nodes of , respectively; that is, , . If and , then , are not adjacent in , and we delete the corresponding edge from . Further, if and , then , 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 -clique.
Proof. Suppose that the nodes of G are legally colored using the colors , and are the colors classes of the nodes. We set for each i, . We may assume that holds since this is only a matter of exchanging the colors among each other. In other words, we may assume that the function is a strictly increasing function.
Let
be the map that describe the coloring of the nodes of
G. (Here,
is the set of nodes of
G). Note that
holds for each
i,
. We claim that the triples
are the nodes of an
-clique in
. In plain English, we claim any two of these
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,
. In plain English, the first
nodes are pairwise adjacent. The distinct nodes
of the auxiliary graph
are adjacent for each
i,
j,
. In plain English, the last
nodes are pairwise adjacent. The distinct nodes
of the auxiliary graph
are adjacent for each
i,
j,
,
. 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
is not an edge of
G, then by the definition of
, the nodes
,
are adjacent in
. When the unordered pair
is an edge of
G, then the inequality
implies
as
f defines a legal coloring of the nodes of
G. The definition of
gives that nodes
,
are adjacent in
.
Next, we consider (
2). In this situation,
implies
. By the definition of
, it follows that nodes
,
are adjacent in
.
Finally, we consider (
3). If
, then node
i of
G cannot be an element of the color class
, and so it follows that
. Using
, we get that
and
hold. The definition of
gives that nodes
,
are adjacent in
.
If , then . Therefore and hold. The definition of gives that nodes , are adjacent in . □
Lemma 2. If the auxiliary graph Γ contains an -clique, then the nodes of G can be legally colored using k colors.
Proof. Let
be an
-clique in
. The nodes of
are legally colored with
colors. It follows that the
nodes of
receive all the possible
colors. Therefore, the nodes of
are in the following forms.
The first n nodes of receive the colors , and the last k nodes of receive the colors , respectively. The color of node in is . Thus elements form a rearrangement of elements . In other words, . Let be the map defined by . 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 is an edge of G, and . By the definition of , the nodes , are not adjacent in . On the other hand, the nodes , 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 with the colors , respectively. Note that we may rename nodes of graph G such that nodes of are identical to nodes of G. As a next step, we may reduce the auxiliary graph. First, we restrict the auxiliary graph to the common neighbors of nodes . Next, we delete nodes from the reduced auxiliary graph.
5. Chromatic Number via Maximum Clique
In connection with a given graph G, we use four auxiliary graphs , , , systematically. Here , are the pair and triplet auxiliary graphs, respectively, while , 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 . Feeding graph into a maximum clique problem solver, we determine the size of a maximum clique. Using the clique number of , we determine the chromatic number of the given graph G.
As a first step, we establish a lower bound and an upper bound for the chromatic number 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 for . A greedy-coloring procedure applied to the nodes of G gives the upper bound for . Of course, the reader is free to use more-sophisticated methods for finding the bounds , .
As a second step, we set and construct the , , , graphs. Here is the construction. We add extra nodes to the graph . The intended intuitive meaning of node is that color is not used in the coloring of the nodes of graph G.
As a third step, we add new edges to the graph :
Connect and with an edge for each p, q;
Connect to the ordered pair with an edge for each x and (for , );
Connect to the ordered triplet with an edge for each x and , (for , ).
After computing the clique number of the newly constructed auxiliary graph, we can calculate the chromatic number of the given graph G.
For a Type-1 auxiliary graph, if , then . Else, .
For a Type-2 auxiliary graph, if , then . Else (Remember, s is the size of the clique we located and colored in G).
For a Type-3 auxiliary graph, if then . Else .
For a Type-4 auxiliary graph, if , then . Else .
6. 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 , 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
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
. 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 , where , and . The intended intuitive meaning of pair 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 is the set of nodes of the new auxiliary graph . Note that sets X and U are disjointed.
Two distinct elements and of W are adjacent in whenever they are adjacent in .
Two distinct elements and of X cannot be adjacent in if and .
Finally, let us turn to the case of when vertex and vertex 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 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 in . Conversely, a clique of size 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.
7. 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 associated with G, we are looking for an n-clique, that is, . For , where we color the nodes of clique , . For , the triplets auxiliary graph, , and for , .
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 . 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. Let be an edge of , and let H be the subgraph of induced by the set . The number of colors of the nodes of H is called the color-degree of edge .
Lemma 3. A node whose color degree is less than can be deleted from Γ when we are looking for a z-clique in Γ. An edge whose color degree is less than can be deleted from Γ when we are looking for a z-clique in Γ.
Let
u and
v be nonadjacent nodes in
, and
; then, we say node
v dominates node
u. Let
,
be edges of
. If
u,
w are not adjacent in
, and
, then we say that edge
f dominates edge
e. 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.
8. 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 given by its adjacency matrix in Table 1. The graph has four vertices 1, 2, 3, 4 and four edges , , , ; that is,Figure 1 depicts a possible geometric representation of the graph. We are asking if the nodes of G can be colored legally using three colors. In this particular case,
,
, and the triplet auxiliary graph
has
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
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
,
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.
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:
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.
9. 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.
For the calculations, we are using 58 graphs from the standard clique-coloringbenchmark instances
http://mat.gsia.cmu.edu/COLOR04 (accessed on 15 June 2022). All calculations were done single-threaded on a Linux OS computer with two AMD EPYC 7643 processors and 1 TB of RAM; the boost was switched off, and thus it ran exactly at 2.2 GHz. We used gcc v12.1 with the switch settings
-O3 -arch=znver3. The dfmax times on this computer were 0.00, 0.02, 0,12, 0.70 and 2.59 s for r100, r200.5, r300.5, r400.5 and r500.5, respectively.
9.1. 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
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
,
,
,
. 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 with preconditioning is the right method, which obviously was the expected outcome. So for the experiments, we use this method.
9.2. 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 reformulation—the 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
. The data from [
18] was scaled by dividing by
.
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 ();
- 2.
We colored the graph by a heuristic algorithm (DSatur by Brelaz [
19] and iterated recoloring by Culberson [
20]) —this gives us an upper bound (
);
- 3.
We constructed the auxiliary graph using ; 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
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 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 . 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.
10. 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 symmetry-breaking 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.