Upcoming SlideShare
×

# Efficient Simplification: The (im)possibilities

2,860 views

Published on

1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
2,860
On SlideShare
0
From Embeds
0
Number of Embeds
1,909
Actions
Shares
0
14
0
Likes
1
Embeds 0
No embeds

No notes for slide

### Efficient Simplification: The (im)possibilities

1. 1. Eﬃcient Simplication: The (im)possibilities IMPECS 2010
2. 2. Discovering definitions.preprocessing, simplification, data reduction kernelization KERNELS
3. 3. Upper Bounds Combinatorial Toolsand applications towards obtaining kernels. Compositions, reductions, and beyond: techniques with applications. Lower Bounds
4. 4. Consider the following nightmare from high school algebra homework:
5. 5. Evaluate: 394x6 + 98x5 y2 − 821x7 y8 + 24x3 −14x3 + 600y8 x7 + 6x6 −100x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
6. 6. Evaluate: 394x6 + 98x5 y2 − 821x7 y8 + 24x3 −14x3 + 600y8 x7 + 6x6 −100x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
7. 7. Evaluate: 394x6 + 98x5 y2 − 821x7 y8 + 24x3 −14x3 + 600y8 x7 + 6x6 −100x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
8. 8. Evaluate: 394x6 + 98x5 y2 − 821x7 y8 + 24x3 −14x3 + 600y8 x7 + 6x6 −100x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
9. 9. Evaluate: 394x6 + 98x5 y2 − 821x7 y8 + 24x3 −14x3 + 600y8 x7 + 6x6 −100x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
10. 10. Evaluate: 394x6 +98x5 y2 − 821x7 y8 + 10x3 −14x3 + 600y8 x7 + 6x6 −102x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
11. 11. Evaluate: 394x6 + 98x5 y2 − 821x7 y8 + 24x3 −14x3 + 600y8 x7 + 6x6 −100x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
12. 12. Evaluate: 394x6 +98x5 y2 − 821x7 y8 + 10x3 −14x3 + 600y8 x7 + 6x6 −102x5 y2 − 400x6 + 221x7 y8 at x = (7 + 9i) and y = (24 − 5i).
13. 13. Simpliﬁcation is a good idea.
14. 14. Simpliﬁcation is a good idea.When you cannot simplify, your problem might be declared irreducible.
15. 15. Simpliﬁcation is a good idea.When you cannot simplify, your problem might be declared irreducible.We want to think about coming up with a deﬁnition for the notion of agood simpliﬁcation procedure.
16. 16. A simpliﬁcation procedure is powerful if it works...
17. 17. A simpliﬁcation procedure is powerful if it works......all the time — on any input, however complicated.
18. 18. A simpliﬁcation procedure is eﬃcient if it beats...
19. 19. A simpliﬁcation procedure is eﬃcient if it beats......a brute-force approach hands-down — the faster, the better.
20. 20. A simpliﬁcation procedure is good if it is powerful and eﬃcient.
21. 21. Are there problems for which we can devise provably goodsimpliﬁcation procedures?
22. 22. Notice that if there are problems with good simpliﬁcation procedures,then such simpliﬁcations would be in great demand. Imagine solving allyour algebra homework quickly, every single time! e performance guarantees make the simpliﬁcation really special.
23. 23. Notice that if there are problems with good simpliﬁcation procedures,then such simpliﬁcations would be in great demand. Imagine solving allyour algebra homework quickly, every single time! e performance guarantees make the simpliﬁcation really special.
24. 24. Are there problems for which we provably cannot devise goodsimpliﬁcation procedures?
25. 25. Notice that showing such a negative result entails demonstrating some“inherent hardness” of the problem, because of which no simpliﬁcationprocedure can oﬀer a performance guarantee.
26. 26. What does it mean to “simplify”?
27. 27. e natural idea of simpliﬁcation is “to reduce”.
28. 28. e natural idea of simpliﬁcation is “to reduce”. Make it smaller.
29. 29. e natural idea of simpliﬁcation is “to reduce”. Make it smaller. Let’s try to formalize this.
30. 30. Let us use n to denote the “size” of the problem.
31. 31. Let us use n to denote the “size” of the problem. Clearly, it is n that we wish to make smaller.
32. 32. Proposed Deﬁnition #1
33. 33. A simpliﬁcation routine should:• run in polynomial time,• take as input a problem instance of size n, and• return an equivalent instance of size n < n.
34. 34. eoremA NP-complete problem cannot be simpliﬁed unless P = NP.
35. 35. eoremA NP-complete problem cannot be simpliﬁed unless P = NP.Proof.Let X be an instance of a NP-complete problem, and suppose it admits asimpliﬁcation routine. X−→X1 −→ · · · −→XnIn polynomial time, we have simpliﬁed too severely — we have solvedthe problem! is gives us P = NP.
36. 36. Proposed Deﬁnition #2
37. 37. Demanding that we reduce the instance with every run of the simpliﬁcation: unreasonable.
38. 38. Demanding that we reduce the instance with every run of the simpliﬁcation: unreasonable.Let us try demanding that a simpliﬁcation process reduces until somepoint, after which we might obtain something that cannot be reduced further.
39. 39. A simpliﬁcation 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. 40. A simpliﬁcation routine should:• run in polynomial time,• take as input a problem instance of size n, and• return an equivalent instance of size 100.
41. 41. A simpliﬁcation 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. 42. A simpliﬁcation 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. 43. A simpliﬁcation 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. 44. A simpliﬁcation 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. 45. A simpliﬁcation 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. 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 ﬁnd such a group. (25) e ﬁrst 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. 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 ﬁnd such a group. (25) e ﬁrst 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. 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 ﬁnd such a group. (25) e ﬁrst 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. 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 ﬁnd such a group. (25) e ﬁrst 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. 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 ﬁnd such a group. (25) e ﬁrst 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. 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 ﬁrst 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. 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. 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. 54. NotationWe denote a parameterized problem as a pair (Q, κ) consisting of a clas-sical problem Q ⊆ {0, 1}∗ and a parameterization κ : {0, 1}∗ → N.
55. 55. .. Problem Simpliﬁcation involves pruning down a large input K . ernel into an equivalent, signiﬁcantly smaller object, S . ize of the Kernel quickly.
56. 56. .. Problem Simpliﬁcation is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that a large input K . ernel into an equivalent, signiﬁcantly smaller object, S . ize of the Kernel quickly.
57. 57. .. Problem Simpliﬁcation is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that for all (x, k), |x| = n K . ernel into an equivalent, signiﬁcantly smaller object, S . ize of the Kernel quickly.
58. 58. .. Problem Simpliﬁcation is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that for all (x, k), |x| = n K . ernel f(x), k ∈ L iﬀ (x, k) ∈ L, signiﬁcantly smaller object, S . ize of the Kernel quickly.
59. 59. .. Problem Simpliﬁcation is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that for all (x, k), |x| = n K . ernel f(x), k ∈ L iﬀ (x, k) ∈ L, |f(x)| = g(k), S . ize of the Kernel quickly.
60. 60. .. Problem Simpliﬁcation is a function f : {0, 1}∗ × N → {0, 1}∗ × N, such that for all (x, k), |x| = n K . ernel f(x), k ∈ L iﬀ (x, k) ∈ L, |f(x)| = g(k), S . ize of the Kernel and f is polytime computable.
61. 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 iﬀ (x, k) ∈ L, |f(x)| = g(k), S . ize of the Kernel and f is polytime computable.
62. 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 iﬀ (x, k) ∈ L, |f(x)| = g(k), S . ize of the Kernel and f is polytime computable.
63. 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 iﬀ (x, k) ∈ L, |f(x)| = g(k), S . ize of the Kernel and f is polytime computable.
64. 64. eorem Having a kernelization procedure implies, and is implied by, parameterized tractability.DeﬁnitionA parameterized problem L is ﬁxed-parameter tractable if there exists analgorithm that decides in f (k) · nO(1) time whether (x, k) ∈ L, wheren := |x|, k := κ(x), and f is a computable function that does not dependon n.
65. 65. eorem Having a kernelization procedure implies, and is implied by, parameterized tractability.DeﬁnitionA parameterized problem L is ﬁxed-parameter tractable if there exists analgorithm that decides in f (k) · nO(1) time whether (x, k) ∈ L, wheren := |x|, k := κ(x), and f is a computable function that does not dependon n.
66. 66. eorem A problem admits a kernel if, and only if, it is ﬁxed–parameter tractable.DeﬁnitionA parameterized problem L is ﬁxed-parameter tractable if there exists analgorithm that decides in f (k) · nO(1) time whether (x, k) ∈ L, wheren := |x|, k := κ(x), and f is a computable function that does not dependon n.
67. 67. eorem A problem admits a kernel if, and only if, it is ﬁxed–parameter tractable.Given a kernel, a FPT algorithm is immediate (even brute–force on thekernel will lead to such an algorithm).
68. 68. eorem A problem admits a kernel if, and only if, it is ﬁxed–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 thealgorithm stops, else: nc+1 < f(k) · nc
69. 69. eorem A problem admits a kernel if, and only if, it is ﬁxed–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 thealgorithm stops, else: n < f(k)
70. 70. “Eﬃcient” KernelizationWhat is a reasonable notion of eﬃciency for kernelization?
71. 71. “Eﬃcient” KernelizationWhat is a reasonable notion of eﬃciency for kernelization? e smaller, the better.
72. 72. “Eﬃcient” Kernelization What is a reasonable notion of eﬃciency for kernelization? e smaller, the better. In particular,Polynomial–sized kernels <are than better Exponential–sized Kernels
73. 73. e problem of ﬁnding Dominating Set of size k on graphs where thedegree is bounded by b, parameterized by k, has a linear kernel. is is anexample of a polynomial–sized kernel.
74. 74. U PP ER BO U N D SExamples of Polynomial Kernels
75. 75. U. PP ER Vertex Cover BO U N D S independent set
76. 76. U. PP ER Vertex Cover BO U N D SInput: A graph G = (V, E) and an integer k.
77. 77. U. PP ER Vertex Cover BO U N D SInput: 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. 78. U. PP ER Vertex Cover BO U N D SInput: 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. 79. U. PP ER Vertex Cover BO U N D S Let us simplify!
80. 80. U. PP ER Vertex Cover BO U N D SA vertex v of degree more than k is a part of any vertex cover of size atmost k.
81. 81. U. PP ER Vertex Cover BO U N D SA vertex v of degree more than k is a part of any vertex cover of size atmost k.ere is always a vertex cover that does not pick isolated vertices.
82. 82. U. PP ER Vertex Cover BO U N D SA vertex v of degree more than k is a part of any vertex cover of size atmost k.ere is always a vertex cover that does not pick isolated vertices.A graph with more than k2 edges, without isolated vertices and verticesof high degree, has no vertex cover of size at most k.
83. 83. U. PP ER 3-Hitting Set BO U N D SInput: A set U and a family F of subsets of U, size three each.
84. 84. U. PP ER 3-Hitting Set BO U N D SInput: 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. 85. U. PP ER 3-Hitting Set BO U N D SInput: 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. 86. U. PP ER 3-Hitting Set BO U N D SInput: {a, b, x}, {x, s, r}, {s, i, l}, {p, q, a}, {z, r, c}
87. 87. U. PP ER 3-Hitting Set BO U N D SInput: {a, b, x}, {x, s, r}, {s, i, l}, {p, q, a}, {z, r, c}Solution: {a,s,r} “hits” every set.
88. 88. U. PP ER 3-Hitting Set BO U N D SInput: {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. 89. U. PP ER 3-Hitting Set BO U N D S Exercise: Is there an O(k3 ) kernel? An O(k2 ) kernel?
90. 90. U. PP ER Connected Vertex Cover BO U N D SInput: A graph G = (V, E) and an integer k.
91. 91. U. PP ER Connected Vertex Cover BO U N D SInput: 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. 92. U. PP ER Connected Vertex Cover BO U N D SInput: 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. 93. U. PP ER Connected Vertex Cover BO U N D SExercise: Is there an O(k2 ) kernel? An O(kO(1) ) kernel?
94. 94. U. PP ER Feedback Vertex Set BO U N D S forest
95. 95. U. PP ER Feedback Vertex Set BO U N D SInput: A graph G = (V, E) and an integer k.
96. 96. U. PP ER Feedback Vertex Set BO U N D SInput: 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. 97. U. PP ER Feedback Vertex Set BO U N D SInput: 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. 98. U. PP ER Feedback Vertex Set BO U N D SNotice that in this problem, we are looking to hit cycles.
99. 99. U. PP ER Feedback Vertex Set BO U N D SNotice that in this problem, we are looking to hit cycles.Since cycles never involve vertices of degree zero or one, such vertices donot participate in an optimal FVS.
100. 100. U. PP ER Feedback Vertex Set BO U N D SNotice that in this problem, we are looking to hit cycles.Since cycles never involve vertices of degree zero or one, such vertices donot participate in an optimal FVS.e immediate simpliﬁcation is to remove isolated (degree ) andpendant (degree ) vertices.
101. 101. U. PP ER Feedback Vertex Set BO U N D S What about vertices of degree two?
102. 102. U. PP ER Feedback Vertex Set BO U N D S What about vertices of degree two? ese are also simple to handle...
103. 103. U. PP ER Feedback Vertex Set BO U N D S
104. 104. U. PP ER Feedback Vertex Set BO U N D S
105. 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. 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. 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. 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. 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. 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 simpliﬁed to the extent of being degree at least three, and not having vertices of degree more than s?
111. 111. U. PP ER Feedback Vertex Set BO U N D S #of edges Minimum degree three... FVS forest
112. 112. U. PP ER Feedback Vertex Set BO U N D S #of edges FVS forest
113. 113. U. PP ER Feedback Vertex Set BO U N D S #of edges FVS forest
114. 114. U. PP ER Feedback Vertex Set BO U N D SNow we simply have to target high-degree vertices, andtry to discover the procedure X that we assumed before.
115. 115. U PP ER BO U N B D S AConsider a bipartite graph one of whose parts (say B) is at least twice as big as the other (call this A).
116. 116. U PP ER BO U N B D S AAssume that there are no isolated vertices in B. bleh
117. 117. U PP ER BO U N D SSuppose, further, that for every subset S in A, N(S) is at least twice as large as |S|.
118. 118. U PP ER BO U N N(S) D S SSuppose, further, that for every subset S in A, N(S) is at least twice as large as |S|.
119. 119. U PP ER BO U N B D S Aen there exist two matchings saturating A, bleh
120. 120. U PP ER BO U N B D S Aen there exist two matchings saturating A, bleh
121. 121. U PP ER BO U N B D S Aen there exist two matchings saturating A, and disjoint in B.
122. 122. U PP ER BO U NClaim: D SIf 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. 123. U PP ER BO U NClaim: D SIf 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. 124. U PP ER BO U NClaim: D SIf |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. 125. U PP ER BO U N D SIf 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. 126. U PP ER BO U N D SIf 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. 127. U PP ER BO U N D SIf 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. 128. U PP ER BO U N D SIf 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. 129. U PP ER BO U N D SIf 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. 130. U PP ER BO U N D SIf 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. 131. U PP ER BO U N D SIf 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. 132. U PP ER BO U N D SIf 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. 133. U PP ER BO U N D SIf 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. 134. U PP ER BO U N D SIf 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. 135. U PP ER BO U N D SIf 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. 136. U PP ER BO U N D SIf 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. 137. U PP ER BO U N D SIf 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. 138. U PP ER BO U N D SIf 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. 139. U PP ER BO U N D SIf 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|)
140. 140. Ingredients
141. 141. a high-degree vertex, v Ingredients
142. 142. a small hitting set, sans va high-degree vertex, v Ingredients
143. 143. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain 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) issmall.
144. 144. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.A subset whose removal makes the graph acyclic.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
145. 145. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.A polynomial function of k.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
146. 146. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.At least twice the size of the hitting set.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
147. 147. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.Find an approximate hitting set S.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
148. 148. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.If S does not contain v, we are done.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
149. 149. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.Else: v ∈ S. Delete S v from G.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
150. 150. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.e only remaining cycles pass through v.When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
151. 151. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain 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) issmall.
152. 152. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.Why is this cut set small enough?When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
153. 153. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.When is this cut set small enough?When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
154. 154. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.When is this cut set small enough?When the largest collection of vertex disjoint paths from N(v) to N(v) issmall.
155. 155. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.When is this cut set small enough?When the largest collection of vertex disjoint paths from N(v) to N(v) isnot small...
156. 156. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain v.When is this cut set small enough?When the largest collection of vertex disjoint paths from N(v) to N(v) isnot small... we get a reduction rule.
157. 157. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain 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. 158. U PP ER BO U N D SGiven a high-degree vertex v, ﬁnding a small hitting set that does notcontain 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.
159. 159. v foresthitting set that excludes v
160. 160. v foresthitting set that excludes v
161. 161. v foresthitting set that excludes v
162. 162. v foresthitting set that excludes v
163. 163. v foresthitting set that excludes v
164. 164. v foresthitting set that excludes v
165. 165. v foresthitting set that excludes v
166. 166. v foresthitting set that excludes v
167. 167. v foresthitting set that excludes v
168. 168. v foresthitting set that excludes v
169. 169. vby 2-expansion lemma: forest hitting set that excludes v
170. 170. vby 2-expansion lemma: forest hitting set that excludes v
171. 171. vby 2-expansion lemma: forest hitting set that excludes v
172. 172. v foresthitting set that excludes v
173. 173. U PP ER BO U N D Se Forward Direction
174. 174. U PP ER BO U N D S e Forward DirectionFVS k in G ⇒ FVS k in H
175. 175. U PP ER BO U N D SIf G has a FVS that either contains v or all of S, we are in good shape.
176. 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. 177. U PP ER BO U N D SNotice that this does not lead to a larger FVS:
178. 178. U PP ER BO U N D SNotice that this does not lead to a larger FVS:For every vertex v in S that a FVS of G leaves out,
179. 179. U PP ER BO U N D SNotice 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.
180. 180. U PP ER BO U N D Se Reverse Direction
181. 181. U PP ER BO U N D S e Reverse DirectionFVS k in G ⇐ FVS k in H
182. 182. v foresthitting set that excludes v
183. 183. U PP ER BO U N D e Only Danger SCycles that: • pass through v, • non-neighbors of v in H¹ • and do not pass through S. ¹neighbors in G, however
184. 184. U. PP ER Feedback Vertex Set BO U N D SHaving 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.
185. 185. Demonstrating non-existence of Polynomial Kernels S D N U BO ER W LO
186. 186. Consider a number of instances of the boolean satisﬁability 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
187. 187. Consider a number of instances of the boolean satisﬁability 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
188. 188. Consider a number of instances of the boolean satisﬁability 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
189. 189. Consider a number of instances of the boolean satisﬁability 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 tIt turns out that: ψ cannot be obtained in polynomial time. S D N U BO ER W LO
190. 190. Consider a number of instances of the boolean satisﬁability 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
191. 191. Consider a number of instances of the boolean satisﬁability 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