Algorithmic and Hardness Results for the Colorful Components Problems
Abstract
In this paper we investigate the colorful components framework, motivated by applications emerging from comparative genomics [10]. The general goal is to remove a collection of edges from an undirected vertexcolored graph such that in the resulting graph all the connected components are colorful (i.e., any two vertices of the same color belong to different connected components). We want to optimize an objective function, the selection of this function being specific to each problem in the framework.
We analyze three objective functions, and thus, three different problems, which are believed to be relevant for the biological applications: minimizing the number of singleton vertices, maximizing the number of edges in the transitive closure, and minimizing the number of connected components.
Our main result is a polynomial time algorithm for the first problem. This result disproves the conjecture of Zheng et al. [11] that the problem is hard (assuming ). Then, we show that the second problem is hard, thus proving and strengthening the conjecture of Zheng et al. [11] that the problem is hard. Finally, we show that the third problem does not admit polynomial time approximation within a factor of for any , assuming (or within a factor of , assuming ).
1 Introduction
In this paper we consider the following framework.
Colorful components framework: Given a simple, undirected graph , and a coloring of the vertices with colors from a given set , remove a collection of edges from the graph such that each connected component in is a colorful component (i.e., it does not contain two identically colored vertices). We want the resulting graph to be optimal according some fixed optimization measure.
In this paper we consider three optimization measures and, respectively, three different problems: Minimum Singleton Vertices (MSV), Minimum Edges in Transitive Closure (MEC), and Minimum Colorful Components (MCC). We now introduce the optimization measures for all these problems.
Problem 1 (Minimum Singleton Vertices)
The goal is to minimize the number of connected components of that consist of one vertex.
Problem 2 (Maximize Edges in Transitive Closure)
The goal is to maximize the number of edges in the transitive closure of .
If a graph consists of connected components, each containing respectively vertices, the number of edges in the transitive closure equals
Problem 3 (Minimum Colorful Components)
The goal is to minimize the number of connected components in .
The first two problems have been introduced in [11], while the third one is newly introduced in this paper.
Motivation.
The colorful components framework is motivated by applications originating from comparative genomics [10, 11], which is a fundamental branch of bioinformatics that studies the relationship of the genome structure between different biological species. The information achieved from this field can help scientists to improve the understanding of the structure and the functions of human genes and, consequently, find treatments for many diseases [8].
As pointed out in [10, 11], one of the key problems in this area, the multiple alignment of gene orders, can be captured as a graph theoretical problem, using the colorful components framework. We refer the reader to [11] for an overview of the connection between the multiple alignment of gene orders and the graph theoretic framework considered, and for a discussion about the biological motivation of two particular problems we consider, Minimum Singleton Vertices and Maximize Edges in Transitive Closure.
Related work.
We now discuss the collection of known problems which fit into the connected components framework.
We start with a problem named either Colorful Components [5, 4] or Minimum Orthogonal Partition [7, 11], since this problem has received the most attention so far. In this problem the objective function is to minimize the number of edges removed from to obtain the graph in which all the components are colorful. Bruckner et al. show [5] that the problem is hard for three or more colors and they study fixed parameter tractable algorithms for the problem. Their hardness reduction can be modified slightly (starting the reduction from a version of 3SAT when each variable occurs only times, instead of from the general 3SAT) to show the APXhardness of the problem. Zheng et al. [11] and Bruckner et al. [4] study heuristic approaches for the problem, and He et al. [7] present an approximation algorithm for some special case of the problem. As the general problem is a special case of the Minimum MultiMultiway Cut, it admits a approximation algorithm [2].
Other objective functions have been proposed, with the hope that some of them are both tractable and biologically meaningful. The MSV and the MEC problems have been introduced by Zheng et al. [11], who presented heuristic algorithms for the problems, without giving any worstcase approximation guarantee. They also conjectured both problems to be NPhard. We are not aware of any other results concerning the MSV and MEC problems, or of any previous research on the MCC problem.
Our results.
Our main result is a polynomial time exact algorithm for the MSV problem, presented in Section 2. This disproves the conjecture of Zheng et al. [11] that the problem is hard (assuming ). Our algorithm maintains a feasible solution for the MSV problem, starting with an empty graph . Then, in each step is modified by applying to it a carefully chosen alternating path , starting at a singleton vertex. The alternating path consists of the edges of , and its every second edge is in . Applying to means that the edges from which are not in are added to , and at the same time the edges of which are in are removed from . The algorithm ensures that at each step is a feasible solution to the problem, and satisfies an invariant that all connected components in are either singletons, edges or stars. In the analysis we show that when the algorithm does not find any new alternating path, the number of singleton components in matches the lower bound presented in Section 2.1.
In Section 3 we study the MEC problem and we show that the problem is hard and hard when the number of colors in the graph is at least . This proves the conjecture of Zheng et al [11]. We show the result via a reduction from the version of the MAX3SAT problem, where each variable appears at most some constant number of times in the formula (see [1], Section 8.4).
Finally, in Section 4 we consider the MCC problem, which is introduced for the first time in this paper. We prove that MCC does not admit polynomial time approximation within a factor of , for any , unless (or within a factor of , unless ), even if each vertex color appears at most two times. We show the inapproximability result via a reduction from the Minimum Clique Partition problem which is equivalent to Minimum Graph Coloring [9].
Due to space constraints some proofs have been moved to the appendix.
2 A Polynomial Time Exact Algorithm for the MSV
In this section we present a polynomial time algorithm MSVexact which finds an optimal solution for the MSV problem. First, in Section 2.1 we show a lower bound on the number of singleton vertices in any feasible solution for the problem. Then, in Section 2.2 we describe the algorithm, with its key procedure presented in Section 2.3. The analysis of the algorithm is then performed in Section 2.4.
2.1 Lower Bound
Let , together with a coloring , be an input instance for the MSV problem. For any color let denote the set of vertices of color . For any set of vertices we denote by the set of neighbors of in , i.e. . For any set of colors and set of vertices we denote by the set of neighbors of in which have colors in , i.e. .
Lemma 1
For any color let
Then in every feasible solution for the MSV problem there are at least singletons of color .
Proof
Let , where , be a feasible solution for . Fix a color for which and let be the subset maximizing the value of . (Notice that depends only on the graph , and not on .) For each vertex which is not a singleton in we pick an arbitrary neighbor in . We have . As any two vertices from belong to different connected components in , the vertices are pairwise different. The number of vertices of which are not singletons in is therefore at most . The number of singletons amongst vertices from , and therefore also the number of singletons of color , is therefore at least . ∎
Corollary 1
In any feasible solution for the MSV problem there are at least singleton vertices.
2.2 Idea of the Algorithm
We now present an algorithm MSVexact which finds an optimal solution for the MSV problem. The input of the algorithm consists of a simple, undirected graph , together with a coloring . The algorithm maintains a feasible solution for the MSV problem (i.e., is a subgraph of the input graph , and every connected component of is a colorful component), starting with an empty graph . In each step the graph is modified by adding to it a carefully chosen alternating path . The alternating path consists of the edges of , and its every second edge is in . Applying to means that the edges from which are not in are added to , and at the same time the edges of which are in are removed from . See Algorithm 1 for the formal description of the algorithm.
The path is chosen in such a way, that adding it to decreases the number of singleton vertices of color , without increasing the number of singleton vertices of other colors. Additionally, at each step of the algorithm the graph satisfies an invariant, that each connected component of is a singleton vertex, an edge, or a star (where a star is a tree of diameter , in particular it has at least vertices).
We will show that when the algorithm stops, i.e., when it does not find any alternating path which can be added to to decrease the number of singletons of any color, the number of singleton vertices in matches the lower bound from Corollary 1.
2.3 Finding an Alternating Path
Let be a feasible solution for an instance of the MSV problem, such that each connected component of is a singleton vertex, an edge, or a star. Let be an arbitrary color, and let be the set of all singletons of color in . We describe a procedure Alternating_Path(G,C,G’,c) which outputs an alternating path for in . In the following section we prove that the path satisfies the properties outlined in Section 2.2, and that when no path is found, the number of singletons of color in matches the lower bound from Lemma 1.
The idea behind the path construction is as follows. We want to find a path starting in some singleton vertex of color , connecting each vertex of color with a vertex of color different than using an edge ; and each vertex of color different than with an vertex of color using an edge . We end the construction of the path when the current endpoint of the path belongs to a connected component of to which we can attach an additional vertex of color (possibly while splitting the component into two parts). Such a case occurs when is a leaf of a star (which will result in removing from the starcomponent and connecting it with the vertex of color ), or when the connected component of does not contain color . Then applying the alternating path to the graph results in “switching” vertices of color between different connected components of , and removing one singleton of color , as the start point of the path will not be a singleton in the new graph. The algorithm performs a BFS search of the path satisfying the required conditions, starting with the collection of all singleton vertices of color . See Procedure 2 for a formal description of the procedure.
Procedure Alternating_Path constructs the path as follows. It keeps a set of vertices of color , initially setting (line ). For each element considered by the procedure, its predecessor pred() is fixed (line ). Intuitively pred() is an element such that , and processing pred() by the procedure resulted in adding to one of the sets . Procedure Path_From(v), invoked in lines and , can then reconstruct the whole path, starting from the final vertex and finding the predecessors until it reaches a vertex from (see Procedure 3 for a formal description).
Each loop of the algorithm (lines – ) considers the set of new neighbors of the vertices from (i.e., the neighbors of which have not been considered in the previous loops), see lines and , in search for vertices which can yield an end of the path (see lines ). If no such vertex is found, the set will be further increased to include the neighbors of of color (line ). The process continues until an appropriate vertex is found in (lines ), and then the algorithm returns the path reconstructed from , or the set becomes empty, in which case the answer no_path_found is returned (line ).
2.4 Analysis
Lemma 2
When the procedure Alternating_Path invoked for a graph which is a feasible solution for MSV for , and s.t. each connected component of is a singleton, an edge or a star returns no_path_found, then .
Lemma 3
Let be a feasible solution for MSV for , s.t. each connected component of is a singleton, an edge or a star. Let be a path returned by Alternating_Path for some color , and let be the result of applying on . Then:

is an alternating path for in ,

the number of singleton vertices of color in is smaller than in ; the number of singleton vertices of any other color does not increase,

each connected component of is colorful,

each connected component of is a singleton, an edge or a star.
We now have all tools to prove the main theorem of this section.
Theorem 2.1
The algorithm MSVexact(G,c) finds an optimal solution for the MSV problem in polynomial time.
Proof
The algorithm MSVexact(G,c) starts by choosing a feasible solution for the problem, in which every connected component is a singleton. Lemma 3 implies that after each step of executing the procedure Alternating_Path, the new graph obtained is a feasible solution (Lemma 3) which is a collection of singletons, edges and stars (Lemma 3). As in each step where finding an alternating path has been successful the number of singleton vertices of the currently processed color decreases, and for other colors does not increase (Lemma 3), after steps the algorithm does not find any more alternating paths. Thus, as each color has been processed by the algorithm, from Lemma 2 for each color the number of singleton vertices of color equals and the resulting graph is an optimal solution to the MSV problem (see Corollary 1). As each execution of the procedure Alternating_Path takes polynomial time (as in each loop, possibly except of the last one, the set grows), the running time of the algorithm MSVexact(G,c) polynomial in the size of the input graph . ∎
3 Hardness of MEC
In this section we prove the hardness and the hardness of the MEC problem, for . We show our result via a reduction from MAX3SAT(), a version of the MAX3SAT problem where each variable appears at most times in the formula. For the problem is hard (see [1], Section 8.4).
3.1 Reduction from MAX3SAT()
Given an instance of the MAX3SAT() problem, i.e., a 3CNF formula with clauses and variables, where each variable appears at most times, we construct an instance of the MEC problem. Our instance is a vertex colored graph , where the vertices are colored with colors from a fourelement set . An example of the reduction is illustrated in Figure 1.
First we describe the set of vertices .

We add to a set of vertices , each colored with color , where vertex corresponds to the th clause of the formula.

For a variable , let be the number of occurrences of the literals and in the formula. For each variable , we add to : vertices of color (denoted by ), vertices of color (denoted by ), and vertices of color (denoted by and ). Intuitively, the vertices are associated with , and the vertices with .
We now show how to construct the set of edges .

For each variable , we construct a cycle of length by adding to the collection of edges , , and for .

For each clause we add to three edges, where each edge connects the vertex representing the clause with a vertex representing one literal of . More formally, if a literal () occurs in the th clause, we add to an edge connecting with some vertex (, respectively). We do this operation in such a way, that each vertex and representing a literal is incident with at most one clausevertex . Notice that since we have more vertices and than actual literals, some of the vertices and will not be connected with any clausevertex .
3.2 Analysis of the Reduction
Let be a MAX3SAT() formula on clauses, and a vertexcolored graph obtained from by our reduction. Let be a subgraph of which is an optimal solution for the MEC problem on .
Lemma 4
If the formula is satisfiable, then the transitive closure of has at least edges.^{1}^{1}1It can be proven that in this case the transitive closure of has exactly edges, but that is not needed in the later part of the reasoning.
Lemma 5
If any assignment can satisfy at most a fraction of the clauses of the formula , then the transitive closure of has at most edges.
Theorem 3.1
The Maximum Edges in the Transitive Closure problem is hard, even for graphs with only four colors.
Proof
Let be a MAX3SAT() formula on clauses, and a vertexcolored graph obtained from by our reduction. Let be a subgraph of which is an optimal solution for the MEC problem on . From Lemma 4 we know, that if the formula is satisfiable, then the transitive closure of has at least edges. From Lemma 5 we know, that if any assignment can satisfy at most a fraction of the clauses of , then the transitive closure of has at most edges.
As the problem is hard [1], we obtain that MEC is also hard. ∎
4 Hardness of MCC
In this section we prove that the MCC problem does not admit polynomialtime approximation within a factor of , for any , unless , or within a factor of , unless . The results hold even if each vertex color appears at most two times in the input graph. We prove our results via a reduction from the Minimum Clique Partition problem.
Minimum Clique Partition: Given a simple, undirected graph , find a partition of into a minimum number of subsets such that the subgraph of induced by each set of vertices is a complete graph.
The Minimum Clique Partition problem is equivalent to Minimum Graph Coloring [9], and therefore it cannot be approximated in polynomial time within a factor of for any [3], unless , or within a factor of , unless [6].
4.1 Reduction from Minimum Clique Partition
Let be an instance of the Minimum Clique Partition problem. We create an instance of the MCC problem, i.e., a vertex colored graph , as follows. The reduction is illustrated in Figure 2.

The vertex set consists of two parts. Firstly, the set is the set of all vertices in , each colored with a distinct color. We term these vertices base vertices. The set has two vertices, and , for each pair of vertices such that . Both vertices and have the same color, which is different from other colors in the graph. We refer to the vertices from as additional vertices. We emphasize that each color appears at most two times in .

The set of edges consists of two parts. First, is the set of edges in , which we term base edges. The set has two edges, and , for each pair of vertices such that (i.e., each additional vertex is connected with a base vertex ). We refer to the edges from as additional edges.
4.2 Analysis of the Reduction
We first show that the cost of an optimal solution for an instance of the Minimum Clique Partition problem is the same as the cost of an optimal solution of an instance of the MCC problem obtained by the reduction.
Lemma 6
Let be an instance of the Minimum Clique Partition problem, and the corresponding instance of the MCC problem, obtained by our reduction. If there is a partition of into cliques, then the optimal solution for the MCC problem for has cost at most .
Lemma 7
Let be an instance of the Minimum Clique Partition problem, and the corresponding instance of the MCC problem, obtained by our reduction. If the optimal solution for the MCC problem for has cost , then there exists a partition of into cliques.
Theorem 4.1
The Minimum Colorful Components problem does not admit polynomial time approximation within a factor of , for any , unless , or within a factor of , for any , unless , where is the number of vertices in the input graph.
5 Conclusions and future work
In this paper we study the Colorful Components framework, which arises from applications in biology. We study three problems from this framework: Minimum Singleton Vertices, Maximum Edges in Transitive Closure and Minimum Colorful Components. First, we show a polynomial time exact algorithm for MSV, thus disproving the conjecture of Zheng et al. [11] that the problem is hard. Then, we prove and strengthen another conjecture in [11], by showing that MEC is hard and hard. Finally, we show that MCC does not admit polynomial time approximation within a factor of , for any , unless , or within a factor of , unless .
Notice that the hardness result for the MEC problem requires that the input graphs are colored with at least colors. A natural question is, thus, to settle the complexity of the problem for colors (as for the case of two colors MEC is easily solvable in polynomial time, using a maximum matching algorithm). Another open question is to design approximation algorithms for the MEC problem or to strengthen the hardness of approximation result.
From the biological perspective it is interesting to analyze how our MSV algorithm behaves on real data. Finally, we mention that an intriguing and challenging task is to find others problems in this framework that admit practical algorithms and are also meaningful for the biological applications.
References
 [1] Giorgio Ausiello, Marco Protasi, Alberto MarchettiSpaccamela, Giorgio Gambosi, Pierluigi Crescenzi, and Viggo Kann. Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties. SpringerVerlag New York, Inc., Secaucus, NJ, USA, 1st edition, 1999.
 [2] Adi Avidor and Michael Langberg. The multimultiway cut problem. Theoretical Computer Science, 377(1â3):35 – 42, 2007.
 [3] Mihir Bellare, Oded Goldreich, and Madhu Sudan. Free bits, PCPs, and nonapproximabilitytowards tight results. SIAM Journal on Computing, 27(3):804–915, 1998.
 [4] Sharon Bruckner, Falk Hüffner, Christian Komusiewicz, and Rolf Niedermeier. Evaluation of ILPbased approaches for partitioning into colorful components. In SEA, pages 176–187, 2013.
 [5] Sharon Bruckner, Falk Hüffner, Christian Komusiewicz, Rolf Niedermeier, Sven Thiel, and Johannes Uhlmann. Partitioning into colorful components by minimum edge deletions. In CPM, pages 56–69, 2012.
 [6] Uriel Feige and Joe Kilian. Zero knowledge and the chromatic number. Journal of Computer and System Sciences, 57(2):187 – 199, 1998.
 [7] George He, Jiping Liu, and Cheng Zhao. Approximation algorithms for some graph partitioning problems. Journal of Graph Algorithms and Applications, 4(2), 2000.
 [8] Arcady R. Mushegian. Foundations of Comparative Genomics. Elsevier Science, 2010.
 [9] Azaria Paz and Shlomo Moran. Non deterministic polynomial optimization problems and their approximations. Theoretical Computer Science, 15(3):251 – 277, 1981.
 [10] David Sankoff. OMG! Orthologs for multiple genomes  competing formulations  (keynote talk). In ISBRA, pages 2–3, 2011.
 [11] Chunfang Zheng, Krister M. Swenson, Eric Lyons, and David Sankoff. OMG! Orthologs in multiple genomes  competing graphtheoretical formulations. In WABI, pages 364–375, 2011.
Appendix A Proofs from Section 2
Proof (of Lemma 2)
If procedure Alternating_Path returns no_path_found, then it returns in line , i.e., checking the condition “” (line ) failed. We show that just before the procedure ends, the following inequality holds:
If the loop in line has never been entered, we have , , and therefore .
Each vertex has been inserted into at some step of the procedure, and subsequently processed either in line or line . As that did not cause the algorithm to return in line or , we must have:

is not a leaf of a star in , and

the connected component containing contains a vertex colored with .
As each connected component in is a singleton, an edge or a star, and the color of is different from (from the definition of ), we have the following two possibilities:

the connected component of containing is an edge, and the other endpoint of the edge has color , or

the connected component of containing is a star containing a vertex of color , and is the center of the star.
We get that any two elements of are in different connected components of , and each vertex has some neighbor in . Each vertex has been added to the set when the element has been processed by the procedure (line ). We get that any two elements are in different connected components of , any two vertices are different. As the elements from are singletons in , and therefore cannot be equal , and , we get . We obtained the desired inequality.
We have shown that for the set of vertices we have . As , we get . As is a lower bound on (see Lemma 1), we get . ∎
Proof (of Lemma 3)
First let us show that the procedure Path_From(v) always returns a finite path, and such that the first vertex of in . Any vertex which is assigned to the set in line is assigned a predecessor from the set (line ). Any vertex assigned to later, i.e., in some th iteration of the loop (line ), is assigned a predecessor pred() , and such that pred() entered in the same th iteration of the loop. Any vertex enters the set in some th iteration of the loop (line ), and then is assigned a predecessor pred() , such that pred() has been assigned to in the previous iteration of the loop (or in line , in case ). This shows that the procedure Path_From(p) does not loop, and it will eventually (i.e., after at most steps) find a beginning of a path, which is a vertex from the set .
We will now show that every odd vertex of the path is in (except possibly of the last vertex of , if it is the vertex appended to the path directly by the procedure in line ), and every even vertex is in . We already know that the first vertex of the path is in . As all vertices from the set have color , and all vertices from the set have color different from , a predecessor of a vertex from is in (line ) and a predecessor of a vertex from is in (line ), the claim follows. Notice that if the procedure reaches line , then there are no color requirements for the last vertex appended at the end of the path directly, and not using the procedure path_from (line ).
We will now show that every even edge of the path is in , and every odd edge of is in , which will prove that is an alternating path. Let us consider even edges first. An even edge is an edge between some odd vertex and a preceding vertex . There can be two cases, and for both of them we obtain that the edge is in :

is a vertex appended to the path directly by the procedure in line . Then the edge connecting with the preceding vertex is in (see line ).

has been appended to the path by the procedure path_from). Then pred() and, from the paragraph above, . A vertex from is connected with its predecessor via an edge in (see line ).
Now let us consider odd edges. As the path starts in a singleton vertex of , the first (odd) edge of the path is not in . Let be any other odd edge of . We have , . Let . As has been processed by the procedure in an earlier loop than (see the first paragraph of the proof), and processing did not cause the procedure to return in line or , one of the following holds (as each connected component of is a singleton, an edge or a star):

the connected component of containing is an edge, and the other endpoint of the edge has color , or

the connected component of containing is a star containing a vertex of color , and is the center of the star.
As , as an even edge of the path, belongs to , that gives us that has degree one is (either as an endpoint of an edge, or a leaf of a star), and so .
From we know that the path applied to to construct is an alternating path, i.e., after applying it the degree of each vertex other than the endpoints of the path does not change. The path starts with a vertex (see ), which is a singleton in , and therefore the first edge of is not in . The first edge of is added to the graph and stops being a singleton vertex. That decreases the number of singleton vertices of color by one.
We now have to consider the last edge of the path. Again, if the edge is not in then the endpoint of the path gets one additional edge incident with it, and so it cannot become a singleton. The only possibility when the last edge of is in is when the path has an even number of edges (as it is an alternating path starting with an edge in ), i.e., it ends with an odd vertex. The procedure path_from is always invoked for a vertex (line ,) and the path returned by it has an odd number of edges (see the , where we show that such path alternates between vertices from and ). The only possibility that the path has an even number of edges is when it is generated in line , when an additional edge is appended at the end of the path. Then the edge is removed from and the degree of drops by one. However, from line we get that then is a leaf of a star, and as we have that is a center of a star. The degree of in is at least , so does not become a singleton after applying the path to .
As every connected component of is colorful, it is enough to consider components of which contain some newly added edge. Let be an edge added to , i.e., an edge from which is in . From the discussion in we know that is then an odd edge of the path, and it connects an even vertex with its predecessor pred().
We will now show that the degree of in is at most one. If is the start of the path, it has degree in . Otherwise, considering the predecessor of and using the same arguments as in we show that is either an endpoint of a path or a leaf of a star in . In this case the degree of in is one. As the edge connecting with its predecessor in is in , it will be removed from . The vertex is a leaf in the connected component of .
If vertex is not the last even vertex of the path, then, from the construction of and the discussion in , the successor of is some vertex of color , and the edge . Then the connected component of (which in was either an edge or a star centered at , again from the discussion in ) obtains a new vertex of color , but on the other hand loses some other vertex of color . The component remains colorful.
If vertex is the last even vertex of the path, and the procedure returned in step after processing , has been detached from its component in (which was a star), and the new component is an edge connecting and , and it is colorful.
Finally, if vertex is the last even vertex of the path, and the procedure returned in step after processing , the connected component of in did not contain vertex of color , so a new vertex of color can be attached to it and the component remains colorful.
We show it similarly as . As every connected component of is either a singleton, an edge, or a star, and removing the edges does not change this property, it is enough to consider components of which contain some newly added edge . As in case , the degree of in is at most one, and becomes a leaf in the connected component of .
Considering the same three cases as in we have that either:

is not the last even vertex of the path: then the connected component of (which in was either an edge or a star centered at ) gets one leaf attached at , at the same time losing another leaf attached at , or

is the last even vertex of the path, and the procedure returned in step after processing : new component is an edge connecting and , or

is the last even vertex of the path, and the procedure returned in step after processing : in this case, as has not been a leaf of a star, it could either be a singleton, an endpoint of an edge, or a center of a star; in any of these cases attaching a leaf to makes the connected component an edge or a star.
The connected component containing the edge is either an edge or a star. ∎
Appendix B Proofs from Section 3
Proof (of Lemma 5)
To prove the lemma it is enough to show that if the transitive closure of has more than edges, we can extract from an assignment for which satisfies at least a fraction of clauses. For the rest of the proof we assume that the transitive closure of has more than edges.
First, observe that each connected component of has size at most , since there are only colors of the vertices in the graph. Also, notice that there are in total vertices of color , vertices of color (as the total number of literals in the formula equals ), vertices of color , and vertices of color .
We now show that has at least connected components consisting of vertices. Let and denote the number of connected components of of size and , respectively. The number of edges in the transitive closure of equals . As has vertices of color other than , exactly such vertices are in each component of size , at least two such vertices are in each component of size , and at least one such vertex is in each component of size , we get: and . We get
As we assumed , we get that .
Let us now consider a subgraph of corresponding to the variable . consists of vertices and for , and additionally of the clausevertices which are incident in with any of the vertices and . As each clausevertex has degree at most in (as all the neighbors of a clausevertex have the same color ), it belongs to at most one subgraph . Notice that each edge of is contained in some subgraph , and therefore the edges of the transitive closure of are the union of the edges of the transitive closures of .
We say that is inconsistent if there are two vertices and in (where possibly ), such that both are incident with some clausevertices and in . We now show that has at most inconsistent subgraphs . Let be the number of clausevertices which belong to . Apart from these vertices of color , has also vertices of colors and , and vertices of color . It is straightforward to verify that the transitive closure of has at most edges (see Figure 3 for an example, where this bound is obtained). Moreover, if is inconsistent, its transitive closure has at most edges (see Figure 3). If has more than inconsistent subgraphs , we have , which contradicts our assumption.
We now extract from an assignment for which satisfies at least a fraction of clauses. We proceed as follows. From our previous reasoning we know that has at least connected components consisting of vertices, and that at most subgraphs are inconsistent. We fix the assignment as follows. For each variable , if is inconsistent or if does not contain any vertices , we set arbitrarily. Otherwise, either all vertices from the component are incident with vertices (corresponding to the literal ), or they are all incident with vertices (corresponding to the literal ). If the first case holds, we set to TRUE. Otherwise, we set to FALSE.
We now show a lower bound on the number of clauses satisfied by . At least clausevertices are incident with some variablevertex (as there are at least connected components of size ). Each variable occurs at most times in , and at most subgraphs are inconsistent, and therefore at most clausevertices are incident with variables from an inconsistent subgraph. Therefore at least clauses are satisfied by the assignment . ∎
Proof (of Lemma 4)
We construct a graph which is a subgraph of in the following way (see Figure 1). Fix a satisfying assignment for . For each clause, represented by a vertex , we choose arbitrarily a literal () which is satisfied by the assignment . Let (, respectively) be the vertex corresponding to the chosen literal which is incident with in . We add the edge (, respectively) to . Additionally, each vertex and associated with a literal satisfied by is connected in with the neighboring vertices of color and .
It is straightforward to check that is a feasible solution for the MEC problem (i.e., each connected component of is colorful), and that has connected components containing vertices, connected components containing vertices, and singletons. The transitive closure of has edges. As is an optimal solution for the MEC problem in , the transitive closure of has at least as many edges as the transitive closure of . ∎
Appendix C Proofs from Section 4
Proof (of Lemma 6)
Let be a graph which can be partitioned into cliques. We have to show that there is a collection of edges in , such that after removing from we obtain a graph consisting of at most colorful components. The set of edges is exactly the set of base edges that have been removed from to obtain the collection of cliques.
As we do not remove any additional edges of (i.e., the edges from the set ), the resulting graph consists of connected components. The only pairs of vertices sharing the same color are pairs such that and . Then and must be in different connected components of the clique partition, and so and (and therefore also and ) are in different connected components of the constructed graph. Each connected component of the constructed graph is colorful. ∎
Proof (of Lemma 7)
Let be a graph which can be transformed, by removing a collection of edges , into a graph consisting of connected colorful components. We show that we can modify , without increasing the number of connected components in the resulting graph and while ensuring that each connected component stays colorful, so that does not contain any edge from the set of additional edges . Then, by removing from , we obtain a valid partition of into at most cliques: For any pair of vertices such that , there are two vertices and in , sharing the same color and connected with and , respectively, via additional edges. As no additional edges are contained in and each connected component of is colorful, and must be in different connected components of . In the partition of the vertices and are then also in different connected components, and so we obtain a partitioning of into at most cliques.
We now show how to modify . For each additional edge which is in we perform the following operation. First, we remove from . That decreases the number of connected components by one, but might result in an infeasible solution. However, the only pair of vertices of the same color which are in the same connected component of can now be and . Denote by the connected component of containing and , and therefore also and . We now find a minimum cut separating from in , and add the edges of the cut to . That results in splitting into exactly two connected components, and each of the two components is colorful.
We perform the above operation for each additional edge , and at the end we obtain a set satisfying the needed conditions. By removing from we get a partition of into at most cliques. ∎
Proof (of Theorem 4.1)
Let be an instance of the Minimum Clique Partition problem, and the corresponding instance of the MCC problem, obtained by our reduction. From Lemmas 6 and 7 we obtain, that the cost of an optimal solution for the MCC problem for is the same as the cost of an optimal solution for the Minimum Clique Partition problem for . We know that the Minimum Clique Partition problem is hard to approximate within a factor of , unless , or within a factor of , unless , were is the number of vertices in the graph . Since has vertices, our theorem follows. ∎