3. Upper Bounds
Combinatorial Tools
and applications towards
obtaining kernels.
Compositions, reductions,
and beyond:
techniques with applications.
Lower Bounds
14. Simplification is a good idea.
When you cannot simplify, your problem might be declared irreducible.
15. Simplification is a good idea.
When you cannot simplify, your problem might be declared irreducible.
We want to think about coming up with a definition for the notion of a
good simplification procedure.
21. Are there problems for which we can devise provably good
simplification procedures?
22. Notice that if there are problems with good simplification procedures,
then such simplifications would be in great demand. Imagine solving all
your algebra homework quickly, every single time!
e performance guarantees make the simplification really special.
23. Notice that if there are problems with good simplification procedures,
then such simplifications would be in great demand. Imagine solving all
your algebra homework quickly, every single time!
e performance guarantees make the simplification really special.
24. Are there problems for which we provably cannot devise good
simplification procedures?
25. Notice that showing such a negative result entails demonstrating some
“inherent hardness” of the problem, because of which no simplification
procedure can offer a performance guarantee.
33. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size n < n.
35. eorem
A NP-complete problem cannot be simplified unless P = NP.
Proof.
Let X be an instance of a NP-complete problem, and suppose it admits a
simplification routine.
X−→X1 −→ · · · −→Xn
In polynomial time, we have simplified too severely — we have solved
the problem! is gives us P = NP.
37. Demanding that we reduce the instance with every run of the
simplification: unreasonable.
38. Demanding that we reduce the instance with every run of the
simplification: unreasonable.
Let us try demanding that a simplification process reduces until some
point, after which we might obtain something that cannot be reduced
further.
39. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size n < n.
Does this work?
40. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size 100.
41. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size 100.
Does this work?
42. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size 100.
NO.
43. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size f(p).
Does this work?
44. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size f(p).
45. A simplification routine should:
• run in polynomial time,
• take as input a problem instance of size n, and
• return an equivalent instance of size f(p).
Does this work?
46. ere are people at a professor’s party.
e professor would like to locate a group of six people who are popular.
i.e, everyone is a friend of at least one of the six.
Being a busy man, he asks two of his students to find such a group.
(25)
e first grimaces and starts making a list of 6 possibilities.
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
47. ere are people at a professor’s party.
e professor would like to locate a group of six people who are popular.
i.e, everyone is a friend of at least one of the six.
Being a busy man, he asks two of his students to find such a group.
(25)
e first grimaces and starts making a list of 6 possibilities.
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
48. ere is a graph on n vertices.
e professor would like to locate a group of six people who are popular.
i.e, everyone is a friend of at least one of the six.
Being a busy man, he asks two of his students to find such a group.
(25)
e first grimaces and starts making a list of 6 possibilities.
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
49. ere is a graph on n vertices.
Is there a dominating set of size at most k?
i.e, everyone is a friend of at least one of the six.
Being a busy man, he asks two of his students to find such a group.
(25)
e first grimaces and starts making a list of 6 possibilities.
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
50. ere is a graph on n vertices.
Is there a dominating set of size at most k?
(Every vertex is a neighbor of at least one of the k vertices.)
Being a busy man, he asks two of his students to find such a group.
(25)
e first grimaces and starts making a list of 6 possibilities.
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
51. ere is a graph on n vertices.
Is there a dominating set of size at most k?
(Every vertex is a neighbor of at least one of the k vertices.)
e problem is NP–complete,
(25)
e first grimaces and starts making a list of 6 possibilities.
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
52. ere is a graph on n vertices.
Is there a dominating set of size at most k?
(Every vertex is a neighbor of at least one of the k vertices.)
e problem is NP–complete,
but is trivial on “large” graphs of bounded degree,
e second knows that no one in the party has more than three friends¹.
¹Academicians tend to be lonely.
53. ere is a graph on n vertices.
Is there a dominating set of size at most k?
(Every vertex is a neighbor of at least one of the k vertices.)
e problem is NP–complete,
but is trivial on “large” graphs of bounded degree,
as you can say NO whenever n > kb.
54. Notation
We denote a parameterized problem as a pair (Q, κ) consisting of a clas-
sical problem Q ⊆ {0, 1}∗ and a parameterization κ : {0, 1}∗ → N.
55. .
.
Problem Simplification
involves pruning down
a large input
K
. ernel
into an equivalent,
significantly smaller object,
S
. ize of the Kernel
quickly.
56. .
.
Problem Simplification
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
a large input
K
. ernel
into an equivalent,
significantly smaller object,
S
. ize of the Kernel
quickly.
57. .
.
Problem Simplification
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
K
. ernel
into an equivalent,
significantly smaller object,
S
. ize of the Kernel
quickly.
58. .
.
Problem Simplification
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
K
. ernel
f(x), k ∈ L iff (x, k) ∈ L,
significantly smaller object,
S
. ize of the Kernel
quickly.
59. .
.
Problem Simplification
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
K
. ernel
f(x), k ∈ L iff (x, k) ∈ L,
|f(x)| = g(k),
S
. ize of the Kernel
quickly.
60. .
.
Problem Simplification
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
K
. ernel
f(x), k ∈ L iff (x, k) ∈ L,
|f(x)| = g(k),
S
. ize of the Kernel
and f is polytime computable.
61. .
.
A kernelization procedure
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
K
. ernel
f(x), k ∈ L iff (x, k) ∈ L,
|f(x)| = g(k),
S
. ize of the Kernel
and f is polytime computable.
62. .
.
A kernelization procedure
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
K
. ernel
(f(x), k ) ∈ L iff (x, k) ∈ L,
|f(x)| = g(k),
S
. ize of the Kernel
and f is polytime computable.
63. .
.
A kernelization procedure
is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that
for all (x, k), |x| = n
f(x), k ∈ L iff (x, k) ∈ L,
|f(x)| = g(k),
S
. ize of the Kernel
and f is polytime computable.
64. eorem
Having a kernelization procedure implies, and is implied by,
parameterized tractability.
Definition
A parameterized problem L is fixed-parameter tractable if there exists an
algorithm that decides in f (k) · nO(1) time whether (x, k) ∈ L, where
n := |x|, k := κ(x), and f is a computable function that does not depend
on n.
65. eorem
Having a kernelization procedure implies, and is implied by,
parameterized tractability.
Definition
A parameterized problem L is fixed-parameter tractable if there exists an
algorithm that decides in f (k) · nO(1) time whether (x, k) ∈ L, where
n := |x|, k := κ(x), and f is a computable function that does not depend
on n.
66. eorem
A problem admits a kernel if, and only if,
it is fixed–parameter tractable.
Definition
A parameterized problem L is fixed-parameter tractable if there exists an
algorithm that decides in f (k) · nO(1) time whether (x, k) ∈ L, where
n := |x|, k := κ(x), and f is a computable function that does not depend
on n.
67. eorem
A problem admits a kernel if, and only if,
it is fixed–parameter tractable.
Given a kernel, a FPT algorithm is immediate (even brute–force on the
kernel will lead to such an algorithm).
68. eorem
A problem admits a kernel if, and only if,
it is fixed–parameter tractable.
On the other hand, a FPT runtime of f(k)·nc gives us a f(k)–sized kernel.
We run the algorithm for nc+1 steps and either have a trivial kernel if the
algorithm stops, else:
nc+1 < f(k) · nc
69. eorem
A problem admits a kernel if, and only if,
it is fixed–parameter tractable.
On the other hand, a FPT runtime of f(k)·nc gives us a f(k)–sized kernel.
We run the algorithm for nc+1 steps and either have a trivial kernel if the
algorithm stops, else:
n < f(k)
72. “Efficient” Kernelization
What is a reasonable notion of efficiency for kernelization?
e smaller, the better.
In particular,
Polynomial–sized kernels <are than
better Exponential–sized Kernels
73. e problem of finding Dominating Set of size k on graphs where the
degree is bounded by b, parameterized by k, has a linear kernel. is is an
example of a polynomial–sized kernel.
74. U
PP
ER
BO
U
N
D
S
Examples of Polynomial Kernels
75. U
. PP
ER
Vertex Cover BO
U
N
D
S
independent set
76. U
. PP
ER
Vertex Cover BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
77. U
. PP
ER
Vertex Cover BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
Question: Does there exist a subset S of at most k vertices such that:
for every edge (u, v), either u ∈ S or v ∈ S?
78. U
. PP
ER
Vertex Cover BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
Question: Does there exist a subset S of at most k vertices such that:
for every edge (u, v), either u ∈ S or v ∈ S?
Parameter: k
79. U
. PP
ER
Vertex Cover BO
U
N
D
S
Let us simplify!
80. U
. PP
ER
Vertex Cover BO
U
N
D
S
A vertex v of degree more than k is a part of any vertex cover of size at
most k.
81. U
. PP
ER
Vertex Cover BO
U
N
D
S
A vertex v of degree more than k is a part of any vertex cover of size at
most k.
ere is always a vertex cover that does not pick isolated vertices.
82. U
. PP
ER
Vertex Cover BO
U
N
D
S
A vertex v of degree more than k is a part of any vertex cover of size at
most k.
ere is always a vertex cover that does not pick isolated vertices.
A graph with more than k2 edges, without isolated vertices and vertices
of high degree, has no vertex cover of size at most k.
83. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Input: A set U and a family F of subsets of U, size three each.
84. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Input: A set U and a family F of subsets of U, size three each.
Question: Does there exist a subset S of U, of size at most k, such that:
for every set X ∈ F, X ∩ S = ∅?
85. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Input: A set U and a family F of subsets of U, size three each.
Question: Does there exist a subset S of U, of size at most k, such that:
for every set X ∈ F, X ∩ S = ∅?
Parameter: k
86. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Input: {a, b, x}, {x, s, r}, {s, i, l}, {p, q, a}, {z, r, c}
87. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Input: {a, b, x}, {x, s, r}, {s, i, l}, {p, q, a}, {z, r, c}
Solution: {a,s,r} “hits” every set.
88. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Input: {a, b, x}, {x, s, r}, {s, i, l}, {p, q, a}, {z, r, c}
Solution: {a,s,r} “hits” every set.
Observation: No hitting set of size two.
89. U
. PP
ER
3-Hitting Set BO
U
N
D
S
Exercise: Is there an O(k3 ) kernel? An O(k2 ) kernel?
90. U
. PP
ER
Connected Vertex Cover BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
91. U
. PP
ER
Connected Vertex Cover BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
Question: Does there exist a subset S of at most k vertices such that:
for every edge (u, v), either u ∈ S or v ∈ S, and G[S] is connected?
92. U
. PP
ER
Connected Vertex Cover BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
Question: Does there exist a subset S of at most k vertices such that:
for every edge (u, v), either u ∈ S or v ∈ S, and G[S] is connected?
Parameter: k
93. U
. PP
ER
Connected Vertex Cover BO
U
N
D
S
Exercise: Is there an O(k2 ) kernel? An O(kO(1) ) kernel?
94. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
forest
95. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
96. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
Question: Does there exist a subset S of at most k vertices such that:
G[V S] is a forest?
97. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Input: A graph G = (V, E) and an integer k.
Question: Does there exist a subset S of at most k vertices such that:
G[V S] is a forest?
Parameter: k
98. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Notice that in this problem, we are looking to hit cycles.
99. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Notice that in this problem, we are looking to hit cycles.
Since cycles never involve vertices of degree zero or one, such vertices do
not participate in an optimal FVS.
100. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Notice that in this problem, we are looking to hit cycles.
Since cycles never involve vertices of degree zero or one, such vertices do
not participate in an optimal FVS.
e immediate simplification is to remove isolated (degree ) and
pendant (degree ) vertices.
101. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
What about vertices of degree two?
102. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
What about vertices of degree two?
ese are also simple to handle...
105. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Notice that we now have a graph whose minimum
degree is at least three.
106. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Notice that we now have a graph whose minimum
degree is at least three.
What about vertices of high degree?
107. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Recall that we were lucky with high degree vertices for
vertex cover.
108. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Recall that we were lucky with high degree vertices for
vertex cover.
Let’s be optimistic and assume that we will get lucky
again...
109. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
So suppose X is a procedure for simplifying vertices of
degree more than s.
110. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
So suppose X is a procedure for simplifying vertices of
degree more than s.
What can we say about a graph that is simplified to the extent of being
degree at least three, and not having vertices of degree more than s?
111. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
#of edges
Minimum degree three...
FVS
forest
112. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
#of edges
FVS
forest
113. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
#of edges
FVS
forest
114. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Now we simply have to target high-degree vertices, and
try to discover the procedure X that we assumed before.
115. U
PP
ER
BO
U
N
B D
S
A
Consider a bipartite graph one of whose parts (say B) is at least twice as
big as the other (call this A).
116. U
PP
ER
BO
U
N
B D
S
A
Assume that there are no isolated vertices in B.
bleh
117. U
PP
ER
BO
U
N
D
S
Suppose, further, that for every subset S in A, N(S) is at least twice as
large as |S|.
118. U
PP
ER
BO
U
N
N(S) D
S
S
Suppose, further, that for every subset S in A, N(S) is at least twice as
large as |S|.
119. U
PP
ER
BO
U
N
B D
S
A
en there exist two matchings saturating A,
bleh
120. U
PP
ER
BO
U
N
B D
S
A
en there exist two matchings saturating A,
bleh
121. U
PP
ER
BO
U
N
B D
S
A
en there exist two matchings saturating A,
and disjoint in B.
122. U
PP
ER
BO
U
N
Claim: D
S
If N(A) 2|A|, then there exists a subset S of A such that:
there 2 matchings saturating the subset S
that are vertex-disjoint in B.
provided B does not have any isolated vertices.
123. U
PP
ER
BO
U
N
Claim: D
S
If N(A) 2|A|, then there exists a subset S of A such that:
there 2 matchings saturating the subset S
that are vertex-disjoint in B.
provided B does not have any isolated vertices.
124. U
PP
ER
BO
U
N
Claim: D
S
If |B| 2|A|, then there exists a subset S of A such that:
there 2 matchings saturating the subset S
that are vertex-disjoint in B,
provided B does not have any isolated vertices.
125. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then
there are 2 matchings,
vertex-disjoint in B, saturating A.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
In this case, S = A and we are done.
126. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then
there are 2 matchings,
vertex-disjoint in B, saturating A.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
In this case, S = A and we are done.
127. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
In this case, S = A and we are done.
128. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
In this case, S = A and we are done.
129. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
Delete the vertices of S and the edges incident on it,
130. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
and remove any isolated vertices created in B.
131. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah
blah blah blah blah blah blah blah
and remove any isolated vertices created in B.
132. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah In the graph that is left, |B| is still
blah blah blah blah blah blah blah larger than 2|A|.
and remove any isolated vertices created in B.
133. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah In the graph that is left, |B| is still
blah blah blah blah blah blah blah larger than 2|A|.
|B|−N(S) |A|−2|S|
134. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah In the graph that is left, |B| is still
blah blah blah blah blah blah blah larger than 2|A|.
|B| − N(S) |A| − 2|S|
135. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah In the graph that is left, |B| is still
blah blah blah blah blah blah blah larger than 2|A|.
|B| − N(S) 2|A| − 2|S|
136. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah In the graph that is left, |B| is still
blah blah blah blah blah blah blah larger than 2|A|.
|B| − N(S) 2|A| − 2|S|
137. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah In the graph that is left, |B| is still
blah blah blah blah blah blah blah larger than 2|A|.
|B| − N(S) 2(|A| − |S|)
138. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah Done: by repetition.
blah blah blah blah blah blah blah
|B| − N(S) 2(|A| − |S|)
139. U
PP
ER
BO
U
N
D
S
If N(S) 2|S| for all subsets S, then Else: there exists a subset S for
there are 2 matchings, which N(S) is smaller than 2|S|.
vertex-disjoint in B, saturating A. row it away.
blah blah blah blah blah blah blah Done: by repetition.
blah blah blah blah blah blah blah (And you’ll never clear everything
out, because |B| is consistently
more than 2|A|.)
|B| − N(S) 2(|A| − |S|)
142. a small hitting set,
sans v
a high-degree vertex, v
Ingredients
143. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
Any hitting set whose size is a polynomial function of k.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
144. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
A subset whose removal makes the graph acyclic.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
145. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
A polynomial function of k.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
146. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
At least twice the size of the hitting set.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
147. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
Find an approximate hitting set S.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
148. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
If S does not contain v, we are done.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
149. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
Else: v ∈ S. Delete S v from G.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
150. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
e only remaining cycles pass through v.
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
151. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
Find an optimal cut set for paths from N(v) to N(v).
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
152. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
Why is this cut set small enough?
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
153. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
154. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from N(v) to N(v) is
small.
155. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from N(v) to N(v) is
not small...
156. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
When is this cut set small enough?
When the largest collection of vertex disjoint paths from N(v) to N(v) is
not small... we get a reduction rule.
157. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
When is this cut set small enough?
More than k vertex-disjoint paths from N(v) to N(v)
→ v belongs to any hitting set of size at most k.
158. U
PP
ER
BO
U
N
D
S
Given a high-degree vertex v, finding a small hitting set that does not
contain v.
When is this cut set small enough?
So either v “forced”, or we have hitting set of suitable size.
Notice that we arrive at either situation in polynomial time.
174. U
PP
ER
BO
U
N
D
S
e Forward Direction
FVS k in G ⇒ FVS k in H
175. U
PP
ER
BO
U
N
D
S
If G has a FVS that either contains v or all of S, we are in good shape.
176. U
PP
ER
BO
U
N
D
S
Consider now a FVS that:
• Does not contain v,
• and omits at least one vertex of S.
177.
178.
179.
180. U
PP
ER
BO
U
N
D
S
Notice that this does not lead to a larger FVS:
181. U
PP
ER
BO
U
N
D
S
Notice that this does not lead to a larger FVS:
For every vertex v in S that a FVS of G leaves out,
182. U
PP
ER
BO
U
N
D
S
Notice that this does not lead to a larger FVS:
For every vertex v in S that a FVS of G leaves out,
it must pick a vertex u that kills no more than all of S.
186. U
PP
ER
BO
U
N
D
e Only Danger S
Cycles that:
• pass through v,
• non-neighbors of v in H¹
• and do not pass through S.
¹neighbors in G, however
187.
188.
189. U
. PP
ER
Feedback Vertex Set BO
U
N
D
S
Having worked out the details, it turns out that vertices
whose degree is more than 8k can be handled, so this
leads to an O(k2 ) kernel.
191. Consider a number of instances of the boolean satisfiability problem:
Let’s say all instances are of size n
φ1 , , p) φ2 , , p) φ3 , , p) . . . , p), , p) φt
S
D
N
U
BO
ER
W
LO
192. Consider a number of instances of the boolean satisfiability problem:
Let’s say all instances are of size n
φ1 , , p) φ2 , , p) φ3 , , p) . . . , p), , p) φt
Can we come up with a short formula ψ that is equivalent to:
φ1 ∨ , p) φ2 ∨ , p) φ3 ∨ , p) . . . , p) ∨ , p) φt
S
D
N
U
BO
ER
W
LO
193. Consider a number of instances of the boolean satisfiability problem:
Let’s say all instances are of size n
φ1 , , p) φ2 , , p) φ3 , , p) . . . , p), , p) φt
Can we come up with a short formula ψ that is equivalent to:
φ1 ∨ , p) φ2 ∨ , p) φ3 ∨ , p) . . . , p) ∨ , p) φt
Polynomial in n, and independent of t
S
D
N
U
BO
ER
W
LO
194. Consider a number of instances of the boolean satisfiability problem:
Let’s say all instances are of size n
φ1 , , p) φ2 , , p) φ3 , , p) . . . , p), , p) φt
Can we come up with a short formula ψ that is equivalent to:
φ1 ∨ , p) φ2 ∨ , p) φ3 ∨ , p) . . . , p) ∨ , p) φt
Polynomial in n, and independent of t
It turns out that: ψ cannot be obtained in polynomial time.
S
D
N
U
BO
ER
W
LO
195. Consider a number of instances of the boolean satisfiability problem:
Let’s say all instances are of size n
(φ1 , p), , p)(φ2 , p), , p)(φ3 , p), , p) . . . , p), , p)(φt , p)
Can we come up with a short formula ψ that is equivalent to:
(φ1 , p) ∨ , p)(φ2 , p) ∨ , p)(φ3 , p) ∨ , p) . . . , p) ∨ , p)(φt , p)
It turns out that: ψ cannot be obtained in polynomial time.
S
D
N
U
BO
ER
W
LO
196. Consider a number of instances of the boolean satisfiability problem:
Let’s say all instances are of size n
(φ1 , p), , p)(φ2 , p), , p)(φ3 , p), , p) . . . , p), , p)(φt , p)
Can we come up with a short formula ψ that is equivalent to:
(φ1 , p) ∨ , p)(φ2 , p) ∨ , p)(φ3 , p) ∨ , p) . . . , p) ∨ , p)(φt , p)
If we can write a long formula ψ: we cannot simplify it, because:
It turns out that: a short ψ cannot be obtained in polynomial time.
S
D
N
U
BO
ER
W
LO
197. A composition algorithm A for a problem is designed to act as a fast
Boolean OR of multiple problem-instances.
It receives as input a sequence of instances.
x = (x1 , . . . , xt ) with xi ∈ {0, 1}∗ for i ∈ [t], such that
(k1 = k2 = · · · = kt = k)
It produces as output a yes-instance with a small parameter if and only if
at least one of the instances in the sequences is also a yes-instance.
κ(A(x)) = kO(1)
S
Running time polynomial in Σi∈[t] |xi | D
N
U
BO
ER
W
LO
198. A composition algorithm A for a problem is designed to act as a fast
Boolean OR of multiple problem-instances.
It receives as input a sequence of instances.
x = (x1 , . . . , xt ) with xi ∈ {0, 1}∗ for i ∈ [t], such that
k1 = k2 = · · · = kt = k
It produces as output a yes-instance with a small parameter if and only if
at least one of the instances in the sequences is also a yes-instance.
κ(A(x)) = kO(1)
S
Running time polynomial in Σi∈[t] |xi | D
N
U
BO
ER
W
LO