
Proc. 8th ALENEX-06, pp. 86-94, SIAM, 2006 Data Reduction, Exact, and Heuristic Algorithms for Clique Cover Jens Gramm∗ Jiong Guo† Falk H¨uffner† Rolf Niedermeier† Abstract Our study problem Clique Cover, also known To cover the edges of a graph with a minimum number of as Keyword Conflict problem [12] or Covering cliques is an NP-complete problem with many applications. by Cliques (GT17) or Intersection Graph Basis The state-of-the-art solving algorithm is a polynomial-time (GT59) [9], has applications in diverse fields such as heuristic from the 1970’s. We present an improvement compiler optimization [19], computational geometry [2], of this heuristic. Our main contribution, however, is the and applied statistics [11, 18]. Thus, it is not surprising development of efficient and effective polynomial-time data that there has been substantial work on (polynomial- reduction rules that, combined with a search tree algorithm, time) heuristic algorithms for Clique Cover [12, 14, allow for exact problem solutions in competitive time. This 19, 18, 11]. In this paper, we extend and complement is confirmed by experiments with real-world and synthetic this work, particularly introducing new data reduction data. Moreover, we prove the fixed-parameter tractability techniques. of covering edges by cliques. Formally, as a (parameterized) decision problem, Clique Cover is defined as follows: 1 Introduction Clique Cover Data reduction techniques for exactly solving NP-hard Input: An undirected graph G = (V, E) and combinatorial optimization problems have proven use- an integer k ≥ 0. ful in many studies [1, 3, 10, 16]. The point is that by Question: Is there a set of at most k cliques polynomial-time executable reduction rules many input in G such that each edge in E has both instances of hard combinatorial problems can be signifi- its endpoints in at least one of the selected cantly shrunk and/or simplified, without sacrificing the cliques? possibility of finding an optimal solution to the given problem. For such reduced instances then often exhaus- Clique Cover is hard to approximate in polyno- tive search algorithms can be applied to efficiently find mial time and nothing better than only a polynomial optimal solutions in reasonable time. Hence data reduc- approximation factor is known [5]. tion techniques are considered as a “must” when try- We examine Clique Cover in the context of ing to cope with computational intractability. Studying parameterized complexity [7, 17]. An instance of a the NP-complete problem to cover the edges of a graph parameterized problem consists of a problem instance I with a minimum number of cliques ((Edge) Clique and a parameter k. A parameterized problem is fixed- Cover)1, we add a new example to the success story parameter tractable if it can be solved in f(k) · |I|O(1) of data reduction, presenting both empirical as well as time, where f is a computable function solely depending theoretical findings. on the parameter k, not on the input size |I|. Our contributions are as follows. We start with ∗Wilhelm-Schickard-Institut f¨ur Informatik, Univer- a thorough mathematical analysis of the heuristic of sit¨at T¨ubingen, Sand 13, D-72076 T¨ubingen, Germany, Kellerman [12] and the postprocessing of Kou et al. [14], [email protected]. Supported by DFG which is state of the art [19, 11]. For an n-vertex and project OPAL, NI 369/2. m-edge graph, we improve the runtime from O(nm2) † Institut f¨ur Informatik, Friedrich-Schiller-Universit¨at to O(nm). Afterwards, as our main algorithmic contri- Jena, Ernst-Abbe-Platz 2, D-07743 Jena, Germany, {guo|hueffner|niedermr}@minet.uni-jena.de. Jiong Guo bution, we introduce and analyze data reduction tech- and Falk H¨uffner supported by DFG Emmy Noether research niques for Clique Cover. As a side effect, we pro- group PIAF, NI 369/4. vide a so-called problem kernel for Clique Cover, for 1 We remark that covering vertices by cliques (Vertex Clique the first time showing—somewhat surprisingly—that Cover or Clique Partition) is of less interest to be studied on the problem is fixed-parameter tractable with respect its own because it is equivalent to the well-investigated Graph Coloring problem: A graph has a vertex clique cover of size k to the parameter k. We continue with describing an iff its complement graph can be colored with k colors such that exact algorithm based on a search tree. For our ex- adjacent vertices have different colors. perimental investigations, we combined our data reduc- Proc. 8th ALENEX-06, pp. 86-94, SIAM, 2006 tion rules with the search tree, clearly outperforming heuristic approaches in several ways. For instance, we Input: Clique Cl, vertex i. Globals: S, I can solve real-world instances from a statistical applica- 0 0 1 for j ∈ N>(j ), with some arbitrary j ∈ C : tion [18]—so far solved heuristically [18, 11]—optimally l 2 if l ∈ S[j] ∧ i∈ / N<(j): without time loss. This indicates that for a significant 3 S[j] ← S[j] \ {l} fraction of real-world instances our exact approach is 4 for j ∈ N>(i): clearly to be preferred to a heuristic approach which 5 update position of l in sorted I[j] is without guaranteed solution quality. We also ex- 6 Cl ← Cl ∪ {i} perimented with random graphs of different densities, showing that our exact approach works extremely well Figure 2: The add-to-clique subroutine. for sparse graphs. In addition, our empirical results re- veal that for dense graphs a data reduction rule that was designed for showing the problem kernel does very result of the heuristic, we assume that the algorithm is well. In particular, this gives strong empirical support aborted as soon as m cliques are generated. In that case for further theoretical studies in the direction of im- we can simply take the solution that covers each edge proved fixed-parameter tractability results for Clique separately by a two-vertex clique. Cover, nicely demonstrating a fruitful interchange be- It is relatively straightforward to observe that CC- tween applied and theoretical algorithmic research. Heuristic 1 runs in O(nm2) time. Not all details and proofs are given in this extended To improve the runtime, the idea is to identify the abstract. “hot spots” and to use caching data structures that will give the computation of these hot spots basically for 2 Improved Heuristic free, and spread the work of keeping this structure up- Kellerman [12] proposed a polynomial-time heuristic for to-date throughout the rest of the program. Clique Cover. This heuristic was improved by Kou, We maintain the following two tables for vertices i, Stockmeyer, and Wong [14] by adding a postprocessing 1 ≤ i ≤ n, where Cl, 1 ≤ l ≤ m, are the cliques step; this version has been successfully applied to generated by the algorithm: instruction scheduling problems [19] and in the analysis of statistical data [11]. Clearly, both versions of the S[i] := {l | Cl ⊆ N<(i)}, heuristic run in polynomial time but in both cases a I[i] := {l | Cl ∩ N<(i) 6= ∅}, sorted more precise analysis of their runtime was not given. descending according to |Cl ∩ N<(i)|, In this section, for an n-vertex and m-edge graph, we analyze the runtime of both heuristics as O(nm2). We where the set N<(i) for a vertex i is defined as show how to slightly modify Kellerman’s heuristic such N (i) := {j | j<i and {i, j} ∈ E is uncovered}, that we can improve the runtime of both heuristics < to O(nm) by a careful use of additional data structures. with {i, j} ∈ E called uncovered if ∀1 ≤ l ≤ m : The Clique Cover heuristic by Kellerman [12], {i, j} 6⊆ Cl. The set N>(i) is defined analogously. The further-on referred to as CC-Heuristic 1, is described table S[i] is used to keep track of the existing cliques to in pseudo-code in the left column of Fig. 1. To which a vertex i may be added. Using S[i] will avoid simplify notation, we use V = {1,...,n} as vertex set. to inspect every existing clique individually in order to The algorithm starts with an empty clique cover and test whether vertex i can be added to the clique (see successively, for i = 1,...,n, updates the clique cover lines 10 and 11 for CC-Heuristic 1 in Fig. 1). The to account for edges {i, j} with j <i. In case there table I[i] is used to keep track of the existing cliques are no edges between the currently processed vertex i with which a vertex i has an “uncovered overlap”, i.e., and the set W of its already processed neighbors, a new with which i shares yet uncovered edges. The cliques clique is created, containing only i. Otherwise, we try to are kept sorted by the size of this uncovered overlap. add i to existing cliques where possible. After this, there Using table I[i], we will avoid the costly computation may still remain uncovered edges between i and W . To of a clique with maximum uncovered overlap in line 18. cover those edges, we create a new clique containing i Thus, tables S and I help to replace costly operations and its neighbors from one of the existing cliques such during the heuristic by constant-time look-ups in these that the number of edges covered by this new clique tables. This comes at the price of having to keep these is maximized. We repeat this process until all edges tables up-to-date throughout the heuristic.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-