Kernelization Algorithms for the Vertex Cover Problem: Theory and Experiments∗
Total Page:16
File Type:pdf, Size:1020Kb
Kernelization Algorithms for the Vertex Cover Problem: Theory and Experiments∗ Faisal N. Abu-Khzamy, Rebecca L. Collinsz, Michael R. Fellowsx, Michael A. Langstonz, W. Henry Sutersz and Christopher T. Symonsz Abstract restricts a problem's search space to a tree whose size A variety of efficient kernelization strategies for the clas- is bounded only by a function of the relevant parame- sic vertex cover problem are developed, implemented and ter. Vertex Cover has a host of real-world applications, compared experimentally. A new technique, termed crown particularly in the field of computational biology. It reduction, is introduced and analyzed. Applications to com- can be used in the construction of phylogenetic trees, putational biology are discussed. in phenotype identification, and in analysis of microar- ray data, to name just a few. While the fact that the 1 Introduction parameterized Vertex Cover problem is FPT makes the computation of exact solutions theoretically tractable, The computational challenge posed by -hard prob- the practical matter of reducing run times to reason- lems has inspired the development of a wideN P range of al- able levels for large parameter values has remained a gorithmic techniques. Due to the seemingly intractable formidable challenge. nature of these problems, practical approaches have his- In this paper, we develop and implement a suite of torically concentrated on the design of polynomial-time algorithms, each of which takes as input a graph G of algorithms that deliver only approximate solutions. The size n and a parameter k, and returns a graph G0 of notion of fixed parameter tractability (FPT) has re- size n0 n and a parameter k0 k. It is important cently emerged as an alternative to this trend. FPT's that (1)≤n0 is bounded by a function≤ only of k0 (not roots can be traced at least as far back as work mo- of n) and (2) G has a vertex cover of size at most k tivated by the Graph Minor Theorem to prove that if and only if G0 has a vertex cover of size at most k0. a variety of otherwise difficult problems are decidable Each algorithm may be employed independently or in in low-order polynomial time when relevant parameters conjunction with others. The use of such techniques are fixed. See, for example, [10, 11]. is called kernelization. An amenability to kernelization Formally, a problem is FPT if it has an algorithm seems to be a hallmark of problems that are FPT, and a that runs in O(f(k)nc) time, where n is the problem characteristic that distinguishes them from apparently size, k is the input parameter, and c is a constant [9]. A more difficult -hard problems. After kernelization well-known example is the parameterized Vertex Cover is completed, theN Psolution process reverts to branching. problem. Vertex Cover is posed as an undirected graph Large-scale empirical studies of branching methods are G and a parameter k. The question asked is whether also underway. See, for example, [2]. G contains a set C of k or fewer vertices such that ev- ery edge of G has at least one endpoint in C. Vertex 2 Kernelization Alternatives Cover can be solved in O(1:2852k +kn) time [5] with the use of a bounded search tree technique. This technique Our vertex cover kernelization suite consists of four sep- arate techniques. The first method is a simple scheme based on the elimination of high degree vertices. The ∗This research has been supported in part by the National Sci- ence Foundation under grants EIA{9972889 and CCR{0075792, second and third methods reformulate vertex cover as by the Office of Naval Research under grant N00014{01{1{ an integer programming problem, which is then sim- 0608, by the Department of Energy under contract DE{AC05{ plified using linear programming. This linear program- 00OR22725, and by the Tennessee Center for Information Tech- ming problem can either be solved using standard linear nology Research under award E01{0178{081. programming techniques or restated as a network flow yDivision of Computer Science and Mathematics, Lebanese American University, Chouran, Beirut 1102 2801, Lebanon problem that can then be solved using an algorithm de- zDepartment of Computer Science, University of Tennessee, veloped by Dinic [8, 12]. The fourth method, which is Knoxville, TN 37996{3450, USA new, we call crown reduction. It is based on finding a xSchool of Electrical Engineering and Computer Science, Uni- particular independent set and its neighborhood, both versity of Newcastle, Calaghan NSW 2308, Australia of which can be removed from the graph. We develop of v and w in G. This reduces the problem size by the theoretical justification for each of these techniques, two and the parameter size by one. This idea was first and provide examples of their performance on samples proposed in [5], and warrants explanation. To illustrate, of actual application problems. suppose u is a vertex of degree 2 with neighbors v and w. If one neighbor of u is included in the cover and is 3 Preprocessing Rules eliminated, then u becomes a pendant vertex and can The techniques we employ are aided by a variety of pre- also be eliminated by including its other neighbor in processing rules. These are computationally inexpen- the cover. Thus it is safe to assume that there are two O n2 cases: first, u is in the cover while v and w are not; sive, requiring at most ( ) time with very modest 0 constants of proportionality. second v and w are in the cover while u is not. If u is not included in an optimal vertex cover of G0 then 0 Rule 1: An isolated vertex (one of degree zero) cannot all the edges incident on u must be covered by other be in a vertex cover of optimal size. Because there vertices. Therefore v and w need not be included in an are no edges incident upon such a vertex, there is no optimal vertex cover of G because the remaining edges benefit in including it in any cover. Thus, in G0, an u; v and u; w can be covered by u. In this case, f g f g 0 0 isolated vertex can be eliminated, reducing n0 by one. if the size of the cover of G is k then the cover of G 0 This rule is applied repeatedly until all isolated vertices will have size k = k + 1 so the decrement of k in the 0 are eliminated. construction is justified. On the other hand, if u is included in an optimal vertex cover of G0 then at least Rule 2: In the case of a pendant vertex (one of degree some of its incident edges must be covered by u0. Thus one), there is an optimal vertex cover that does not the optimal cover of G must also cover its corresponding contain the pendant vertex but does contain its unique edges by either v or w. This implies that both v and 0 neighbor. Thus, in G , both the pendant vertex and w are in the vertex cover. In this case, if the size of its neighbor can be eliminated. This also eliminates the cover of G0 is k0, then the cover of G will also be any additional edges incident on the neighbor, which of size k = k0 + 1. This rule is applied repeatedly until may leave isolated vertices for deletion under Rule 1. all vertices of degree two are eliminated. If recovery of 0 This reduces n by the number of deleted vertices and the computed vertex cover is required, a record must be 0 reduces k by one. This rule is applied repeatedly until kept of this folding so that once the cover of G0 has been all pendant vertices are eliminated. computed, the appropriate vertices can be included in the cover of G. Rule 3: If there is a degree-two vertex with adjacent neighbors, then there is a vertex cover of optimal size 4 Kernelization by High Degree that includes both of these neighbors. If u is a vertex This simple technique [3] relies on the observation that of degree 2 and v and w are its adjacent neighbors, a vertex whose degree exceeds k must be in every vertex then at least two of the three vertices (u, v, and w) cover of size at most k. (If the degree of v exceeds k but must be in any vertex cover. Choosing u to be one of v is not included in the cover, then all of v's neighbors these vertices would only cover edges (u; v) and (u; w) must be in the cover, making the size of the cover at while eliminating u and including v and w could possibly least k + 1.) This algorithm is applied repeatedly until cover not only these but additional edges. Thus there all vertices of degree greater than k are eliminated. It is is a vertex cover of optimal size that includes v and superlinear (O(n2)) only because of the need to compute w but not u. G0 is created by deleting u, v, w and the degree of each vertex. their incident edges from G. It is then also possible to The following theorem is a special case of a more delete the neighbors of v and w whose degrees drop to general result from [1]. It is used to bound the size of the zero. This reduces n0 by the number of deleted vertices kernel that results from the application of this algorithm and reduces k0 by two.