notes - LAMSADE

Exact Algorithms
Lecture 4: Kernelization
3 February, 2016
1
Lecturer: Eunjung Kim
More on Vertex Cover: LP-based kernelization
Theorem 1 (Nemhauser-Trotter Theorem). Given a graph G, a partition (R, H, C) satisfying the
following can be computed in polynomial time.
(a.) For any vertex cover Sr of G[R], Sr ∪ H is a vertex cover of G.
(b.) There exists an optimal vertex cover containing H.
(c.) Any vertex cover of G[R] is of size at least 21 |R|.
Before presenting an algorithm for computing such a partition (R, H, C), let’s think how to use
the above NT Theorem for computing a kernel. We propose the following reduction rules.
Reduction Rule 0: Remove isolated vertices from G.
Reduction Rule 1: Let (R, H, C) be a partition such that (a)-(c) of NT Theorem is met and H ∪C 6=
∅. Then delete H ∪ C from G and set k 0 := k − |H|, i.e. the new instance is (G[R], k − |H|).
Lemma 1. Reduction Rule 1 is safe.
Proof: Suppose (G, k) is a yes-instance and let S be an optimal vertex cover. Notice that |S| ≤ k.
By condition (b) of NT Theorem, we can assume that H ⊆ S. Take Sr := S ∩ R and observe
that Sr is a vertex cover of G[R]. Due to condition (a), Sr ∪ H is a vertex cover of G. Since
Sr ∪ H ⊆ S and is a vertex cover of G, the optimality of S implies that S ∩ C = ∅. Hence,
|Sr | = |S| − |H| ≤ k − |H| and (G[R], k − |H|) is a yes-instance.
For the opposite direction, suppose (G[R], k − |H|) is a yes-instance and let Sr be a vertex
cover of G[R] of size at most k − |H|. By condition (a), Sr ∪ H is a vertex cover of G and its size
is at most k. That is, (G, k) is a yes-instance.
Lemma 2. V ERTEX C OVER admits a kernel containing at most 2k vertices.
Proof: Consider the following algorithm: find a partition (R, H, C) as in NT Theorem in polynomial time and apply Reduction Rule 1. (Reduction Rule 0 has been already applied). Let
(G0 , k 0 ) = (G[R], k − |H|) be the resulting instance.
• If |R| > 2k, then any vertex cover of G0 contains more than k vertices by condition (c)
of NT Theorem, and thus (G0 , k 0 ) is a no-instance. In this case, we output a constant-size
no-instance.
1
• Otherwise |R| ≤ 2k. We output (G0 , k 0 ).
In both cases, we output an instance equivalent to the initial instance containing at most 2k vertices.
The running time follows from NT Theorem.
How can we find a partition (R, H, C) as in NT Theorem? Now we consider this question,
which leads to a proof of NT Theorem. There are several nice proofs of NT Theorem. Here
we consider a version using Linear Programming formulation. Consider a Linear Programming
Relaxation of Vertex Cover.
X
min
xu
u∈V (G)
xu + xv ≥ 1
xu ≥ 0
∀(u, v) ∈ E(G)
∀u ∈ V (G)
Observe that if an optimal solution to the above LP is integral, then it corresponds to an optimal
vertex cover. In general, an optimal solution x∗ to LP is not necessarily integral. We partition V (G)
according to their values in x∗ .
• R0 := {u ∈ V (G) : x∗u = 0.5}
• H0 := {u ∈ V (G) : x∗u > 0, 5}
• C0 := {u ∈ V (G) : x∗u < 0, 5}
It is known that LP can be solved in polynomial time, hence the partition (R0 , H0 , C0 ) can be
found in polynomial time. We claim that this partition actually meets the condition (a)-(c) of NT
Theorem. For this, we need the following lemma.
Lemma 3. For every subset H00 ⊆ H0 , we have |H00 | ≤ |N (H00 ) ∩ C0 |.
Proof: Take = min{x∗u − 0.5 : u ∈ H00 } and note that > 0. Consider a solution x0 defined as:

∗
0

xu − if u ∈ H0
x0u = x∗u + if u ∈ N (H00 ) ∩ C0

 ∗
xu
otherwise
It is easy to verify that x0 is a feasible LP solution. The objective value of x0 equals
X
x∗u + (−|H00 | + |N (H00 ) ∩ C0 )|).
u∈V (G)
From the optimality of x∗ , our claim follows.
Lemma 4. The partition (R0 , H0 , C0 ) meets the condition (a).
2
Proof: Observe that C0 is an independent set: indeed if there is an edge between u, v ∈ C0 , we
have x∗u + x∗v < 0.5 + 0.5 = 1, violating the corresponding inequality in LP. For the same reason,
there is no edge between C0 and R0 . This means that N (C0 ) ⊆ H0 , from which condition (a)
holds.
Lemma 5. The partition (R0 , H0 , C0 ) meets the condition (b).
Proof: Let S be an optimal vertex cover of G and let Sr , Sh , Sc be its intersections with R0 , H0
and C0 respectively, and let S̄h be the complement of Sh in H0 , that is, S̄h := H0 \ Sh . We take a
new set
S 0 := (S \ Sc ) ∪ S̄h ,
i.e. the set obtained from S by removing all of C0 and adding all of H0 . This is a vertex cover due
to Lemma 4. We claim that S 0 is again an optimal vertex cover. To see this, it suffices to show that
the vertices newly added are not more than those removed, that is, |S̄h | ≤ |Sc |.
Observe that N (S̄h ) ∩ C0 ⊆ Sc since otherwise Sc fails to cover all edges incident with S̄h .
Applying Lemma 3 for H00 := S̄h , we have
|S̄h | ≤ |N (S̄h ) ∩ C0 | ≤ |Sc |.
Lemma 6. The partition (R0 , H0 , C0 ) meets the condition (c).
Proof: By Hall’s theorem1 and Lemma 3, there is a matching M between H0 and C0 saturating
H0 . Let us fix such a matching M and notice that |M | = |H0 |. For any feasible solution x0 to the
above LP, its objective value is
X
X
X
X
X
x0u ≥
x0u +
x0u ≥
0.5 +
x0u
u∈V (G)
u∈R0
1
= |R0 | +
2
u∈H0 ∪C0
X
(u,v)∈M
u∈R0
u∈V (M )
1
1
(x0u + x0v ) ≥ |R0 | + |M | = |R0 | + |H0 |.
2
2
Let Sr be an arbitrary vertex cover of G[R0 ]. Since (R0 , H0 , C0 ) meets condition (a) due to
Lemma 4, Sr ∪ H0 is a vertex cover. Since LP solution provides a lower bound for a vertex cover
size (i.e. integral solution to LP), we have
1
|Sr | + |H0 | ≥ |R0 | + |H0 |
2
which complete the proof.
1
Hall’s theorem: Let G be a bipartite graph with vertex bipartition (X, Y ). There is a matching M saturating X
(i.e. every vertex of X is incident with an edge in M ) if and only if |X 0 | ≤ |N (X 0 )| for every X 0 ⊆ X.
3
2
Extra material: Half-integrality of LP for Vertex Cover
Let x∗ be an optimal (fractional) solution to LP and (R0 , H0 , C0 ) be the partition as obtained
in the previous section. We shall see that x∗ can be converted into a half-integral solution, i.e.
xu ∈ {0, 0.5, 1}. It can be shown that there exists a half-integral optimal solution to LP formulation
of Vertex Cover.
Lemma 7. The following solution x̃ is optimal to the above LP:


0.5 if u ∈ R0
x̃u = 1
if u ∈ H0


0
if u ∈ C0
Proof: Let H00 be the set of vertices in H0 with x∗u < 1 and C00 be the set of vertices in C0 with
x∗u > 0. Among all optimal solutions to LP yielding the partition (R0 , H0 , C0 ), choose x∗ so as to
minimize the set H00 ∪ C00 . We shall show that H00 ∪ C00 = ∅, which establishes x∗ = x̃ and thus the
statement.
For the sake of contradiction, H00 ∪ C00 6= ∅. Take δ = min{1 − x∗u : u ∈ H00 } ∪ {x∗u : u ∈ C00 }
and note that δ > 0. Consider a solution x0 defined as:

0
∗

xu + δ if u ∈ H0
x0u = x∗u − δ if u ∈ C00

 ∗
xu
otherwise.
As we chose minimum δ, it holds x0 ≥ 0. It is straightforward to verify that x0 is feasible.
Now we argue that x0 is an optimal LP solution. From Lemma 3, we know |H00 | ≤ |N (H00 ) ∩
C0 |. Also observe that N (H00 ) ∩ C0 ⊆ C00 since otherwise, there would be an edge (u, v) with
u ∈ H00 and v ∈ C0 \ C00 such that x∗u + x∗v < 1 + 0 = 1, contradicting the feasibility of x∗ . We
derive |H00 | ≤ |C00 |. Then, the objective value of x0 equals
X
x∗u + δ(|H00 | − |C00 |),
u∈V (G)
P
which does not exceed u∈V (G) x∗u . Therefore, x0 is an optimal solution such that {u ∈ H0 : x0u <
1} ∪ {u ∈ C0 : x0u > 0} ( H00 ∩ C00 , a contradiction. This complete the proof.
We remark that the proof of Lemma 7 is constructive: one can use the procedure in the proof
to transform an arbitrary optimal solution to a half-integral solution2 . Fom now on we assume that
x∗ is a half-integral solution as in Lemma 7.
2
But also, the lemmata below hold on a partition (R0 , H0 , C0 ) whether the optimal solution we use is half-integral
or not.
4