Efficient Simplification: The (im)possibilities

2,860 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

No notes for slide

Efficient Simplification: The (im)possibilities

  1. 1. Efficient 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. Simplification is a good idea.
  14. 14. Simplification is a good idea.When you cannot simplify, your problem might be declared irreducible.
  15. 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 agood simplification procedure.
  16. 16. A simplification procedure is powerful if it works...
  17. 17. A simplification procedure is powerful if it works......all the time — on any input, however complicated.
  18. 18. A simplification procedure is efficient if it beats...
  19. 19. A simplification procedure is efficient if it beats......a brute-force approach hands-down — the faster, the better.
  20. 20. A simplification procedure is good if it is powerful and efficient.
  21. 21. Are there problems for which we can devise provably goodsimplification procedures?
  22. 22. Notice that if there are problems with good simplification procedures,then such simplifications would be in great demand. Imagine solving allyour algebra homework quickly, every single time! e performance guarantees make the simplification really special.
  23. 23. Notice that if there are problems with good simplification procedures,then such simplifications would be in great demand. Imagine solving allyour algebra homework quickly, every single time! e performance guarantees make the simplification really special.
  24. 24. Are there problems for which we provably cannot devise goodsimplification procedures?
  25. 25. Notice that showing such a negative result entails demonstrating some“inherent hardness” of the problem, because of which no simplificationprocedure can offer a performance guarantee.
  26. 26. What does it mean to “simplify”?
  27. 27. e natural idea of simplification is “to reduce”.
  28. 28. e natural idea of simplification is “to reduce”. Make it smaller.
  29. 29. e natural idea of simplification 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 Definition #1
  33. 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.
  34. 34. eoremA NP-complete problem cannot be simplified unless P = NP.
  35. 35. eoremA NP-complete problem cannot be simplified unless P = NP.Proof.Let X be an instance of a NP-complete problem, and suppose it admits asimplification routine. X−→X1 −→ · · · −→XnIn polynomial time, we have simplified too severely — we have solvedthe problem! is gives us P = NP.
  36. 36. Proposed Definition #2
  37. 37. Demanding that we reduce the instance with every run of the simplification: unreasonable.
  38. 38. Demanding that we reduce the instance with every run of the simplification: unreasonable.Let us try demanding that a simplification process reduces until somepoint, after which we might obtain something that cannot be reduced further.
  39. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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 Simplification involves pruning down a large input K . ernel into an equivalent, significantly smaller object, S . ize of the Kernel quickly.
  56. 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. 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. 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. 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. 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. 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. 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. 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. 64. eorem Having a kernelization procedure implies, and is implied by, parameterized tractability.DefinitionA parameterized problem L is fixed-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.DefinitionA parameterized problem L is fixed-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 fixed–parameter tractable.DefinitionA parameterized problem L is fixed-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 fixed–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 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 thealgorithm stops, else: nc+1 < f(k) · nc
  69. 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 thealgorithm stops, else: n < f(k)
  70. 70. “Efficient” KernelizationWhat is a reasonable notion of efficiency for kernelization?
  71. 71. “Efficient” KernelizationWhat is a reasonable notion of efficiency for kernelization? e smaller, the better.
  72. 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. 73. e problem of finding 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 simplification 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 simplified 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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, finding 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 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
  187. 187. 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
  188. 188. 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
  189. 189. 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 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 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
  191. 191. 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

×