What is known about Vertex Cover Kernelization?

11/23/2018
by   Michael R. Fellows, et al.
0

We are pleased to dedicate this survey on kernelization of the Vertex Cover problem, to Professor Juraj Hromkovič on the occasion of his 60th birthday. The Vertex Cover problem is often referred to as the Drosophila of parameterized complexity. It enjoys a long history. New and worthy perspectives will always be demonstrated first with concrete results here. This survey discusses several research directions in Vertex Cover kernelization. The Barrier Degree of Vertex Cover kernelization is discussed. We have reduction rules that kernelize vertices of small degree, including in this paper new results that reduce graphs almost to minimum degree five. Can this process go on forever? What is the minimum vertex-degree barrier for polynomial-time kernelization? Assuming the Exponential-Time Hypothesis, there is a minimum degree barrier. The idea of automated kernelization is discussed. We here report the first experimental results of an AI-guided branching algorithm for Vertex Cover whose logic seems amenable for application in finding reduction rules to kernelize small-degree vertices. The survey highlights a central open problem in parameterized complexity. Happy Birthday, Juraj!

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

10/30/2018

Weighted vertex cover on graphs with maximum degree 3

We give a parameterized algorithm for weighted vertex cover on graphs wi...
03/14/2019

An Exact Algorithm for Minimum Weight Vertex Cover Problem in Large Graphs

This paper proposes a novel branch-and-bound(BMWVC) algorithm to exactly...
03/16/2020

On the parameterized complexity of 2-partitions

We give an FPT algorithm for deciding whether the vertex set a digraph D...
05/07/2020

Neighbourhood Evaluation Criteria for Vertex Cover Problem

Neighbourhood Evaluation Criteria is a heuristical approximate algorithm...
02/11/2019

A Simple Gap-producing Reduction for the Parameterized Set Cover Problem

Given an n-vertex bipartite graph I=(S,U,E), the goal of set cover probl...
02/05/2019

Hamiltonicity below Dirac's condition

Dirac's theorem (1952) is a classical result of graph theory, stating th...
03/29/2019

Solving large Minimum Vertex Cover problems on a quantum annealer

We consider the minimum vertex cover problem having applications in e.g....
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction and Preliminaries

A vertex cover of a graph is a subset of its vertices containing at least one endpoint of each of its edges. The Vertex Cover problem asks, given a graph and an integer , whether contains a vertex cover of size at most .

The study of the Vertex Cover problem lies at the roots of the theory of -completeness: It is one of Karp’s 21 -complete problems [47] and plays a central role in the monograph of Garey and Johnson [35]. However, interest in the Vertex Cover problem reaches far beyond pure theory. One reason is that it naturally models conflict resolution,111In the textbook [16], the problem was entertainingly introduced as ‘Bar Fight Prevention’. a problem occurring in numerous scientific disciplines, with an international workshop devoted to it [2]. Other applications include classification methods (see, e.g., [36]), computational biology (e.g., [13]), and various applications follow from the duality of Vertex Cover with the Clique problem (see, e.g., [1]). The latter finds numerous applications in fields such as computational biology and bioinformatics [9, 48, 49, 65, 72], computational chemistry [22, 53, 70], and electrical engineering [15, 40].

In parameterized/multivariate algorithmics [16, 20, 61], the objects of study are computational problems whose instances are additionally equipped with a integer , the parameter, typically expressing some structural measure of the instance of the problem. The goal is to design algorithms for hard problems whose runtime confines the combinatorial explosion to the parameter rather than the size of the input. A parameterized problem is called fixed-parameter tractable if it can be solved in time where is some computable function, the parameter and the input size. The second central notion in the field of parameterized algorithms is that of a kernelization [19, 21, 27], a polynomial-time algorithm (usually described as a set of reduction rules) that takes as input an instance of a parameterized problem and outputs an equivalent instance , where for some computable function .222As the focus of this text is on the Vertex Cover problem, we refer to [37, 55] for general surveys on the subject of kernelization and to [57] for a survey on the corresponding lower bound machinery.

Kernelization (for the first time!) provided a theory of preprocessing with mathematically provable guarantees. On the other end, kernelization has immediate practical implications, as demonstrated by Karsten Weihe’s problem [67, 68] (see also [24, 25]) concerning the train systems in Europe. By the means of two simple reduction rules, graphs (instances) on vertices are reduced to equivalent instances whose connected components are of size at most , making the reduced instance solvable exactly even by brute force in reasonable time, after the preprocessing, even though the general problem is NP-hard. Similar reduction rules have been successfully applied in the context of cancer research [4] and spread of virus [23].

The notions of fixed-parameter tractability and kernelization are tightly linked. It has been shown by Cai et al. that a parameterized problem is fixed-parameter tractable if and only if it has a (polynomial-time) kernelization algorithm [10]. Kernelization for the Vertex Cover problem, which is often referred to as the Drosophila of parameterized complexity [20, 32, 38, 61], enjoys a long history. In 1993, the first kernel on vertices was obtained, and is accredited to Buss [8], with more refined reduction rules given in [3]. Kernels with a linear number of vertices were obtained in various ways. Using classic graph theoretic results, Chor et al. gave a kernel on vertices [14] (see also [26]), a kernel on vertices was obtained via an LP-relaxation by Chen et al. [11] and another kernel on

vertices without the use of linear programming was obtained by Dehne et al. 

[17]. The next series of improvements gave kernels on vertices [63] and the current champion which is due to Lampis has vertices [52], where in the latter two is any fixed constant. Another kernel on vertices was observed in [59]. An experimental evaluation of several of the earlier kernels was carried out in [1].

There is no known subquadratic bound on the number of edges in any kernel for Vertex Cover, and the question whether such a kernel exists was a long standing open question in multivariate algorithmics. It was finally shown that up to logarithmic factors, Vertex Cover kernels with a quadratic number of edges are likely to be optimal: Dell and van Melkebeek, building on work of Bodlaender, Downey, Fellows and Hermelin [6, 7], also Fortnow and Santhanam [34], showed that there is no kernel on bits, for any , unless  [18]. The latter would imply that the polynomial hierarchy collapses to its third level [71] which is widely considered to be implausible by complexity theorists.333We also refer to [45, pages 19f] and [69, Appendix A] for brief accounts of the implausibility of .

In another line of research, following the parameter ecology program [30], the existence of kernels for Vertex Cover w.r.t. parameters that take on smaller values than the vertex cover number was studied. Such parameterizations are typically referred to as structural parameterizations of Vertex Cover. The first such result is due to Jansen and Bodlaender who gave a kernel on vertices, where is the size of a feedback vertex set of the graph [46]

. Further results include polynomial kernels where the parameter is the size of an odd cycle traversal or a König deletion set 

[51], the size of vertex deletion sets to maximum degree at most two [56], pseudoforest [33] and -quasi forest [41]. Using the above mentioned lower bound machinery, it was shown that there is no kernel polynomial in the size of a vertex deletion set to chordal or perfect graphs unless  [5, 30].

As Vertex Cover is the primary intellectual “lab animal” in parameterized complexity, new and worthy perspectives will always be demonstrated first with concrete results here. We discuss several research directions in (Vertex Cover) kernelization. The first one is based on the observation that several reduction rules are known to kernelize vertices of small degree [8, 31, 64]; a natural question is whether this process can go on ‘forever’, i.e., whether we can find, for any fixed constant , a set of reduction rules that kernelize in polynomial time to a reduced graph (the kernel) of minimum degree . On the negative side, we observe that unless the Exponential-Time Hypothesis [43, 44] fails, this is not the case even if the exponent in the polynomial-time kernelization is some arbitrary function of . On the positive side, we give a clear account of reduction rules for Vertex Cover that were first observed by Fellows and Stege [31] that kernelize instances to minimum degree ‘almost five’ (see Theorem for the exact statement) and discuss how this question is closely related to finding faster fpt-algorithms for Vertex Cover, a question that lies at the very heart of parameterized complexity research.

In the light of the ongoing machine-learning and artificial intelligence revolution, one might wonder whether AI could assist in the search for new reduction rules of parameterized problems as well. While this question seems far out, we report first experimental results of an AI-guided branching algorithm for

Vertex Cover whose logic seems amenable for application in finding new reduction rules to kernelize to increasing minimum degree.

The rest of this paper is organized as follows. In the remainder of this section, we give preliminary definitions and introduce the necessary background. In Section 2 we review some classic Vertex Cover kernels. Section 3 is devoted to the topic of kernelizing small-degree vertices. We there give a description of reduction rules observed by Fellows and Stege [31] (see also [64]). In Section Section 4 we report results on an AI-guided branching algorithm whose ideas might lay the foundations of automatically generated reduction rules for Vertex Cover. We conclude with an open problem in Section 5.

Technical Preliminaries and Notation.

For two integers and with , we let and for a positive integer , we let .

Throughout the paper, each graph is finite, undirected and simple. Let be a graph. We denote the vertex set of by and the edge set of by . For a vertex , we denote by the (open) neighborhood of , i.e., . The degree of is the size of the neighborhood of , i.e., . We define the closed neighborhood of as . For a set of vertices , we let and . For a set of vertices , we use the shorthand . A vertex set is called a clique, if for each pair of distinct vertices , . A vertex set is called independent, if for each pair of distinct vertices , . A graph is called bipartite, if there is a partition of its vertex set such that and are independent.

For two graphs and , we denote by that is a subgraph of , i.e. that and . For a vertex set , we denote by the subgraph of induced by , i.e., . We let and we use the shorthand for . For two disjoint vertex subsets , we denote by the bipartite subgraph of induced by , that is .

A subgraph is called a path if all its vertices have degree at most two in and there are precisely two distinct vertices in that have degree one in , called the endpoints of . For , a path is called -path if it is a path with endpoints and .

We call two edges adjacent if they share an endpoint, i.e., if there exist vertices such that and . A matching is a set of pairwise non-adjacent edges. We say that a matching saturates a set of vertices , if for all , there is a pair .

Given a set of vertices , we call the operation of adding to a new vertex with neighborhood and deleting all vertices in the contraction of .

Exponential-Time Hypothesis (Eth).

In 2001, Impagliazzo and Paturi made a conjecture about the complexity of -Sat, the problem of determining whether a given Boolean formula in conjunctive normal form with clauses of size at most has a satisfying assignment. This conjecture is known as the Exponential-Time Hypothesis (ETH) and has lead to a plethora of conditional lower bounds, see, e.g., the survey [54] or [16, Chapter 14]. Formally, ETH can be stated as:444The -notation suppresses polynomial factors in .

Conjecture (Eth [43, 44]).

There is an such that -Sat on variables cannot be solved in time .

2 Standard Methods

In this section, we review some classic results in Vertex Cover kernelization. In particular, we discuss the Buss kernel [8] in Subsection 2.1. Subsection 2.2 is devoted to the kernel based on the notion of a crown decomposition [14, 26] (see Definition ). A linear-programming-based kernel [11] is discussed in Subsection 2.3.

We would like to remark that the technical parts of the expositions given in the remainder of this section are based on [16, Sections 2.2.1, 2.3 and 2.5] and we refer to this text for several details.

2.1 Buss Kernelization

The first kernel for Vertex Cover appeared several years before the notion of kernelization was formally introduced and is attributed to Buss [8]. It relies on two observations. The first one is that by definition, there is no need to include an isolated vertex in a vertex cover, as it does not have any incident edges that need to be covered.

Reduction.

If has an isolated vertex , then reduce to .

The second observation is that, if has a vertex of degree more than , then we have no choice but to include in any size- vertex cover of : If we did not include , we would have to include all of its at least neighbors, exceeding the budget of vertices we are given. Hence, has a vertex cover of size if and only if has a vertex cover of size , so we have observed that the following reduction rule is safe, meaning that the original instance is a Yes-instance if and only if the reduced instance is a Yes-instance.

Reduction.

If has a vertex with , then reduce to .

Now, after exhaustively applying Reduction , has maximum degree at most , so if contains more than edges, then we are dealing with a No-instance: It is not possible to cover more than edges with vertices of degree at most . On the other hand, if is a Yes-instance, then has a vertex cover of size at most . After exhaustively applying Reduction , does not contain any isolated vertices so we can assume that every vertex of has a neighbor in . Since the maximum degree of is at most , we can conclude that , which implies that . Hence, if has more than vertices, we can again conclude that we are dealing with a No-instance. Since Reductions and 2.1 clearly run in polynomial time, we have the following theorem.

Theorem (Buss and Goldsmith [8]).

Vertex Cover admits a kernel with at most vertices and edges.

2.2 Crown Reduction

The key insight above was that any vertex of degree at least has to be contained in any size- vertex cover of a graph. The kernel we present in this section follows a similar motivation. The goal is to identify a set of vertices that we can always assume to be contained in a size- vertex cover of a graph. In other words, we want to find a set of vertices , such that if contains a vertex cover of size then contains a vertex cover of size that contains . The process of identifying such a set is based on a structural decomposition of the input graph, called the crown decomposition. Formally, a crown decomposition is defined as follows and we illustrate it in Figure 1.

Definition (Crown Decomposition).

Let be a graph. A crown decomposition of is a partition of , where is called the crown, the head and the body, such that the following hold.

  1. is a non-empty independent set in .

  2. There are no edges between vertices in and vertices in .

  3. contains a matching that saturates .

Figure 1: Illustration of a crown decomposition (Definition ). The bold edges in show a matching saturating .

The motivation for using the above definition in Vertex Cover kernelization is as follows. Suppose we are given a crown decomposition of and consider the bipartite graph . Clearly, any vertex cover of has to cover the edges in . However, by creftype c we know that there is a matching in saturating , hence any vertex cover of has size at least . On the other hand, is a vertex cover of and since is independent by creftype a, of . This allows us to conclude that has a vertex cover of size if and only if has a vertex cover of size . Hence, the following reduction rule is safe.

Reduction.

If has a crown decomposition , then reduce to .

However, two questions remain. Namely whether we can find a crown decomposition of a graph in polynomial time and how to obtain the linear bound on the number of vertices in the resulting kernel. Both questions are answered by the following lemma whose proof is based on classic results in graph theory by König [50] and Hall [39], and polynomial-time algorithms for bipartite matching such as the classic algorithm due to Hopcroft and Karp [42].555For a more fine-grained analysis one could apply the faster algorithm [58].

Lemma (Lemma 2.14 in [16] based on [14]).

Let be a graph on at least vertices. There is a polynomial-time algorithm that either

  1. finds a matching of size at least in ; or

  2. finds a crown decomposition of .

Now, in Case creftype a we can immediately conclude that is a No-instance and in Case creftype b we can apply Reduction . By an exhaustive application of Lemma in combination with Reduction (and Reduction to get rid of isolated vertices), we have the following theorem.

Theorem (Chor et al. [14]).

Vertex Cover admits a kernel with at most vertices.

2.3 LP-Based Kernel

The Vertex Cover problem is one of many -hard problems that can be expressed as an integer linear program [62], a fact which is commonly exploited in the field of approximation algorithms [66]. In this section, we show how to use linear programming to obtain a kernel for Vertex Cover on at most vertices. We first recall how to formulate Vertex Cover as an integer linear program.

For each vertex , we introduce a variable with the interpretation that if and only if the vertex is included in the vertex cover witnessed by a solution to the (integer) linear program. We can then formulate the constraints in a natural way, directly applying the definition of vertex covers: For each edge , the requirement that at least one of and has to be contained in the solution translates to the constraint . Since we are looking for a vertex cover of minimum size, the objective function minimizes the sum over all ’s.

subject to (1)
(2)

To make the program feasible to compute, we relax the integrality constraints creftype 2 to , . (Note that we can drop the constraints since the objective function is a minimization.) The resulting linear program is solvable in polynomial time, but may not always return a feasible solution for the original Vertex Cover instance. However, we are chasing a different goal here, a kernelization algorithm.

Given an optimal solution of the (relaxed) linear program, we define the sets , , and . The key ingredient is the following theorem due to Nemhauser and Trotter [60].

Theorem (Nemhauser and Trotter [60]).

There is a minimum vertex cover of such that .

We derive a reduction rule from Theorem . First, we note that in any Yes-instance of Vertex Cover, . Furthermore, let be a vertex cover of of size with and (whose existence is guaranteed by Theorem ), then is a vertex cover of of size . Conversely, if has a vertex cover of size , we observe that by the constraints creftype 1, for any edge with , we have that . Hence, is a vertex cover of of size . We have argued that the following reduction rule is safe.

Reduction.

Let , , and be as above. If , then conclude that we are dealing with a No-instance. Otherwise, reduce to .

The number of vertices in the reduced instance after applying Reduction is

so we have obtained the following kernel for Vertex Cover.666We would like to remark that while Linear Programming can be solved in polynomial time (and hence our reduction runs in polynomial time), the corresponding algorithms are often slow in practice. However, for the case of Vertex Cover there is good news: One can show that a solution of the above linear program can be found via a reduction to Bipartite Matching (see, e.g., [16, Section 2.5]) which has fast practical algorithms.

Theorem (Chen et al. [11]).

Vertex Cover admits a kernel with at most vertices.

3 Towards the Barrier – What is the Maximum Minimum Vertex Degree of the Kernel that Can be Achieved in Polynomial Time?

In the previous section, we have seen that by Reduction we can kernelize all vertices whose degree is larger than the target value of the given vertex cover instance. Hence, after applying this rule exhaustively there will be no vertex of degree larger than in the kernelized instance. But what about vertices of small degree? Vertices of degree zero, i.e., isolated vertices, can be removed from a Vertex Cover instance according to Reduction . Furthermore, we will see below that there are fairly simple reduction rules that kernelize vertices of degree one and two (see Reductions and 3). A natural question arises: Can this process go on ‘forever’, i.e., can we, for any fixed constant , give a reduction rule that kernelizes all vertices of degree from a given Vertex Cover instance?

The answer to this question is probably not — even if the degree of the polynomial in the runtime of the kernelization algorithm can depend on : It is well-known (see, e.g., [16, 20, 28]) that unless ETH fails, there is some barrier constant such that the fastest possible algorithm for Vertex Cover runs in time . If we could kernelize Vertex Cover in polynomial time to arbitrarily large minimum degree, one could devise a straightforward branching algorithm that runs in time , for some , where can be arbitrarily close to the value of . We coin the corresponding integer the barrier degree of Vertex Cover kernelization and now prove formally its existence (assuming ETH).

Proposition.

Unless ETH fails, there is some constant , such that Vertex Cover cannot be kernelized to instances of minimum degree .

Proof.

Using standard arguments about branching algorithms (see, e.g., [16, Chapter 3]) one can show that there is an algorithm solving vertex cover in time , where satisfies

(3)

if the input graph always has a vertex of degree at least to branch on. Now suppose that the statement of the proposition is false, then we can guarantee the existence of such a vertex for constant but arbitrarily large (with only polynomial time overhead at each stage of the branching). Now let with . (Note that this implies that as  [12].) We substitute with in creftype 3 and obtain:

This shows that for any such , there is a constant such that, if we could kernelize Vertex Cover to minimum degree , then we could solve it in time, where by our choice. This contradicts ETH by, e.g., [28, Theorem 1].

Chen et al. [12]
Table 1: (Dependence on of the) runtime of the resulting simple branching -algorithm when using a kernelization algorithm to minimum degree , for several values of , versus the current fastest known -algorithm for Vertex Cover [12].

The proof of Proposition also provides some very natural motivation for the question of kernelizing Vertex Cover to larger and larger minimum degree; such kernels immediately provide new -algorithms for the problem. In particular, kernelizing to minimum degree seven would already improve upon the current best known algorithm for Vertex Cover, yielding first progress in a very attractive research question in over a decade! We illustrate the runtime of such algorithms for several concrete values of in Table 1.

In the remainder of this section, we present a set of reduction rules that were first observed by Fellows and Stege [31] to kernelize a vertex cover instance to minimum degree ‘almost five’, in the following sense: We show that a vertex can be kernelized if its degree is at most three or its degree is four and there are more than two edges between the vertices in its neighborhood.

We begin with a simple rule to deal with degree-one vertices and show that it is safe.

Reduction.

If has a pendant edge with , then reduce to .

Proposition.

Reduction is safe, i.e., if has a pendant edge with , then has a vertex cover of size if and only if has a vertex cover of size .

Proof.

() Suppose has a vertex cover of size . Since is an edge of , at least one of and is contained in . If , then we let . Note that is a vertex cover since is the only neighbor of . If , we simply let . Since , is a vertex cover of of size .

() Let be a vertex cover of of size . We observe that any edge in is incident with and conclude that is a vertex cover of of size .

(a) Illustration of Reduction . Note that, for our argument, it is immaterial whether the edge is present in or not.
(b) The situation of Reduction .
Figure 2: Illustrations of Reduction and Reduction , respectively.

The next reduction rule takes care of vertices of degree two and is illustrated in Figure 1(a).

Reduction.

If is not a triangle777A triangle is a complete graph on three vertices. Note that if is a triangle, then the graph constructed by applying this reduction is an isolated vertex, hence the empty set is a vertex cover of . However, does not have a vertex cover of size . On the other hand, if is a triangle we can trivially solve the instance for any . and has a vertex with , then reduce to , where is the graph obtained from by contracting to a single vertex.

Proposition.

Reduction is safe, i.e., under its stated conditions, has a vertex cover of size if and only if has a vertex cover of size .

Proof.

Throughout the proof, we denote the neighborhood of in by and the vertex in that was created due to the contraction of by .

() We observe that each edge in has an endpoint in . Let be a vertex cover of of size . If , then and we can conclude that is a vertex cover of . If , then is a vertex cover of . (Note that in this case, has size at most as well.) If contains precisely one vertex from , assume w.l.o.g. that , then (otherwise the edge is not covered), so is a vertex cover of of size .

() Let be a vertex cover of of size . We only have to distinguish the cases when and when . In the former case, is a vertex cover of , since each edge in is incident with a vertex in . In the latter case, since , and we have that is a vertex cover of , as each edge in has an endpoint in . In both cases, the size of the resulting vertex cover is .

Before we proceed with kernelizing vertices of degree larger than two, we require two auxiliary reduction rules. These will be crucially used to argue that we can exclude certain structures appearing in the subgraphs induced by the neighborhoods of small-degree vertices.

Reduction.

If has two adjacent vertices and such that , then reduce to .

For an illustration of the situation of Reduction , see Figure 1(b).

Proposition.

Reduction is safe, i.e., if has two adjacent vertices and , and , then contains a vertex cover of size if and only if has a vertex cover of size .

Proof.

() Suppose has a vertex cover of size . If then must be in , so by assumption, it contains . But then, is also a vertex cover of of size , so we can assume that . Then, is a vertex cover of of size .

() is immediate since for any vertex cover of , is a vertex cover of .

The next reduction rule captures [31, Reductions R.4 and R.5] and is illustrated in Figure 3. Note that due to its complexity, it will only be executed for vertices whose degree is bounded by a fixed constant (independent of ). In particular, for our purposes it will be sufficient to make use of the following reduction for .

Reduction.

Suppose has a vertex such that the following hold. There is a partition of where and the following hold.

  1. is a clique for all .

  2. Let be the set of non-edges of . For each , there is precisely one such that .

Then, reduce to , where is obtained from by

  1. deleting and , and

  2. for all with and , adding all edges between and .

Figure 3: Illustration of Reduction . Note that , and the bold dotted lines between vertices of and are the set of non-edges in satisfying condition b: For every vertex there is precisely one element in containing .
Proposition.

Reduction is safe, i.e. under its stated conditions, has a vertex cover of size if and only if has a vertex cover of size .

Proof.

Since by assumption creftype a of Reduction , and are cliques in , and since remains a clique in , we make the following observation.

Observation.

Every vertex cover in contains at least vertices from for all , and every vertex cover in contains at least vertices from .

We now prove the proposition by a case analysis on the structure of the intersection of vertex covers of and with and , respectively. Observation will be used later to argue that we covered all possible cases.

Claim.

contains a vertex cover of size such that if and only if contains a vertex cover of size such that .

Proof.

() Let be a vertex cover of of size such that . (Note that we can assume that .) We have that is a vertex cover of . By construction, any edge in is incident with a vertex in . Clearly, .

() Let be a vertex cover of of size such that . Then, is a vertex cover of , since every edge in is either incident with a vertex in or with . For the latter case, we observe that . Clearly, .

We observe that Claim also covers the case when a size- vertex cover of misses precisely one vertex from : Let be such a vertex cover and let . Since has to contain an endpoint of the edge and , we can conclude that . Now, we simply let and observe that is a vertex cover of of size such that .

Claim.

contains a vertex cover of size with for all if and only if contains a vertex cover of size with .

Proof.

() Let be a size- vertex cover of such that for all , and let be the unique vertex in that is not contained in . First, since , we have that , otherwise the edge is not covered by . Furthermore, we can conclude that , since if was an edge of , then this edge was not covered by . Clearly, since , we have that , so .

We have argued that , and by condition creftype b of Reduction we know that is the only element in that contains . We now show that

is a vertex cover of . Clearly, is a vertex cover of . Now, consider an edge . By construction, one of the endpoints of , say , is from . If , then the edge is covered by , since . Now suppose that and denote the other endpoint of by . Since , following the construction of Reduction , we can conclude that there is some such that . We can infer that , since creftype b asserts that there is only one element in that contains and we know by the above argument that . As is a vertex cover of and by assumption, we know that , and so:

hence the edge is covered by . We can conclude that is a vertex cover of . Since we obtained from by removing from it the vertex and vertices from , we have that . Clearly, .

() Let be a vertex cover of of size such that and denote by the unique vertex of that is not contained in . Let furthermore such that . By condition creftype b, such a vertex exists and it is unique. We argue that is a vertex cover of . Suppose for a contradiction that there is an edge that is not covered by . Since is a vertex cover of and , we have that . By construction, each such edge has (at least) one endpoint in . Since , we can conclude that is an endpoint of , and the endpoint of other than , say , is contained in . Since , it is a non-edge, and so . From the construction of Reduction , we infer that .

To conclude, since , we have that if , then . Since and by assumption, the edge is not covered by , a contradiction with the assumption that was a vertex cover of . It is clear that and that for all , .

We are now ready to finalize the proof of safeness of Reduction . Suppose has a vertex cover of size . Then, by Observation , we are in one of the following cases: (I) , (II) , or (III) for all , . In cases (I) and (II), we can conclude that has a vertex cover of size by Claim (and the remark thereafter). In case (III), has a vertex cover of size by Claim .

For the other direction, suppose has a vertex cover of size . Again by Observation , we are in one of the following two cases: (IV) , or (V) . In case (IV), we can use Claim to conclude that has a vertex cover of size and in case (V) we can use Claim . This finishes the proof of Proposition .

We are now ready to kernelize degree-three vertices.

Reduction.

If none of the above reduction rules can be applied and contains a vertex of degree with , then reduce to where is the graph on vertex set and edge set , where

(4)

We illustrate the above reduction rule in Figure 4.

Figure 4: Illustration of Reduction .
Proposition.

Reduction is safe, i.e., if its conditions are satisfied, then contains a vertex cover of size if and only if contains a vertex cover of size .

Proof.

We first show that we can assume that there are no edges between the vertices in .

Claim.

If none of the above reduction rules can be applied, then is an independent set in .

Proof.

If contains at least two edges, then these two edges have a common endpoint, say . But then, , so we could have applied Reduction , a contradiction. If contains precisely one edge, assume w.l.o.g. that , then we could have applied Reduction with , and . Clearly, and are cliques and , the set of non-edges of , satisfies the conditions of Reduction creftype b.

Due to the previous claim, we will assume that is an independent set throughout the following.

Claim.

If has a vertex cover of size , then has a vertex cover of size at most .

Proof.

We first observe that, for each edge , either or . Hence, any vertex cover of is a vertex cover of if each edge in has an endpoint in , since by definition, contains an endpoint of each edge in .

Let be a vertex cover of of size . If , then . By creftype 4, each edge in has at least one endpoint in and hence in , so we can conclude that is a vertex cover of of size .

Suppose and note for the remainder of the proof that is a vertex cover of of size . We argue that we can assume that at most one vertex from is contained in : For the case that , we can apply the same argument as above to conclude that is a vertex cover of of size . If contains precisely two vertices from , assume w.l.o.g. that , then is a vertex cover of of size , since again, contains .

We assume that contains at most one vertex from . If contains no vertex of , then must contain all of . Hence the only edges in that are not covered by – see creftype 4 – are incident with the vertex . Together with the fact that is a vertex cover of , we can conclude that is a vertex cover of .

From now on, we assume that precisely one vertex of is contained in the vertex cover of . If , then and hence . Again, is a vertex cover of and we observe that any edge in that does not have an endpoint in is incident with the vertex . By creftype 4, either or for some . We can conclude that is a vertex cover of . The remaining cases can be argued for similarly: If , then is a vertex cover of and if , then is a vertex cover of .

Claim.

If has a vertex cover of size then has a vertex cover of size .

Proof.

Throughout the following, let be a vertex cover of of size . Since is not an independent set in , we know that has to contain at least one vertex of . If , then contains an endpoint of each edge in , so we can conclude that is a vertex cover of .

We now consider the cases when contains precisely two vertices from . If and hence , then contains as well, to cover the edges between the vertex and vertices in . It follows that is a vertex cover of . Since each edge in is incident with , we can conclude that is a vertex cover of . By similar arguments we have that if , then is a vertex cover of and if , then is a vertex cover of .

It remains to argue the case when contains precisely one vertex from . Note that the only possible such case is when this vertex is . If contained only the vertex (resp., ), then the edge (resp., ) would remain uncovered by . Suppose , so , implying that . Hence, is a vertex cover of and is a vertex cover of .

In the light of Claims and 3, the proposition is proved.

The next reduction rule kernelizes all vertices that have degree four and whose neighborhood induces a subgraph with more than two edges.

Figure 5: Illustration of Reduction , with Reduction displayed at the top and Reduction displayed at the bottom.
Reduction.

If contains a vertex with degree four such that has at least three edges and none of the above rules apply, then reduce to according to one of the following cases (up to renaming the vertices in ).

Reduction.

is an -path. In this case, let and be the graph on vertex set and edge set , where

(5)

Reduction.

is a clique and is isolated in . In this case, and is the graph on vertex set and edge set , where

We illustrate Reductions and 3 in Figure 5.

Proposition.

Reduction is safe, i.e., if its conditions are satisfied, then either Reduction or Reduction applies and has a vertex cover of size if and only if has a vertex cover of size (with and depending on the case that applies).

Proof.

Throughout the proof, let