SlideShare a Scribd company logo
1 of 269
Download to read offline
Efficient Simplication:
 The (im)possibilities
     IMPECS 2010
Discovering definitions.

preprocessing, simplification, data reduction
            kernelization
          KERNELS
Upper Bounds

  Combinatorial Tools
and applications towards
   obtaining kernels.




                             Compositions, reductions,
                                   and beyond:
                           techniques with applications.


                                Lower Bounds
Consider the following nightmare from high school algebra homework:
Evaluate:



            394x6 + 98x5 y2 − 821x7 y8 + 24x3

                 −14x3 + 600y8 x7 + 6x6
              −100x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 + 98x5 y2 − 821x7 y8 + 24x3

                −14x3 + 600y8 x7 + 6x6
              −100x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 + 98x5 y2 − 821x7 y8 + 24x3

                −14x3 + 600y8 x7 + 6x6
              −100x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 + 98x5 y2 − 821x7 y8 + 24x3

                −14x3 + 600y8 x7 + 6x6
              −100x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 + 98x5 y2 − 821x7 y8 + 24x3

                −14x3 + 600y8 x7 + 6x6
              −100x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 +98x5 y2 − 821x7 y8 + 10x3

                −14x3 + 600y8 x7 + 6x6
             −102x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 + 98x5 y2 − 821x7 y8 + 24x3

                 −14x3 + 600y8 x7 + 6x6
              −100x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Evaluate:



            394x6 +98x5 y2 − 821x7 y8 + 10x3

                −14x3 + 600y8 x7 + 6x6
             −102x5 y2 − 400x6 + 221x7 y8


            at x = (7 + 9i) and y = (24 − 5i).
Simplification is a good idea.
Simplification is a good idea.
When you cannot simplify, your problem might be declared irreducible.
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.
A simplification procedure is powerful if it works...
A simplification procedure is powerful if it works...

...all the time — on any input, however complicated.
A simplification procedure is efficient if it beats...
A simplification procedure is efficient if it beats...

...a brute-force approach hands-down — the faster, the better.
A simplification procedure is good if it is
         powerful and efficient.
Are there problems for which we can devise provably good
simplification procedures?
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.
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.
Are there problems for which we provably cannot devise good
simplification procedures?
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.
What does it mean to “simplify”?
e natural idea of simplification is “to reduce”.
e natural idea of simplification is “to reduce”.


               Make it smaller.
e natural idea of simplification is “to reduce”.


                Make it smaller.


           Let’s try to formalize this.
Let us use n to denote the “size” of the problem.
Let us use n to denote the “size” of the problem.


  Clearly, it is n that we wish to make smaller.
Proposed Definition #1
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.
eorem
A NP-complete problem cannot be simplified unless P = NP.
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.
Proposed Definition #2
Demanding that we reduce the instance with every run of the
              simplification: unreasonable.
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.
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?
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.
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?
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.
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?
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).
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
.
.

              Problem Simplification


              involves pruning down


                  a large input
    K
    . ernel
               into an equivalent,


          significantly smaller object,
                                   S
                                   . ize of the Kernel

                    quickly.
.
.

                   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.
.
.

                   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.
.
.

                    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.
.
.

                    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.
.
.

                    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.
.
.

                   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.
.
.

                    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.
.
.

                 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.
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.
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.
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.
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).
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
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)
“Efficient” Kernelization


What is a reasonable notion of efficiency for kernelization?
“Efficient” Kernelization


What is a reasonable notion of efficiency for kernelization?
                 e smaller, the better.
“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
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.
U
                             PP
                               ER
                                    BO
                                         U
                                             N
                                                 D
                                                     S


Examples of Polynomial Kernels
U
.                                     PP
                                        ER
                      Vertex Cover           BO
                                                  U
                                                      N
                                                          D
                                                              S




    independent set
U
.                                              PP
                                                 ER
                        Vertex Cover                  BO
                                                           U
                                                               N
                                                                   D
                                                                       S




Input: A graph G = (V, E) and an integer k.
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?
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
U
.                       PP
                          ER
      Vertex Cover             BO
                                    U
                                        N
                                            D
                                                S




    Let us simplify!
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.
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.
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.
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.
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 = ∅?
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
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}
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.
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.
U
.                                                 PP
                                                    ER
                      3-Hitting Set                      BO
                                                              U
                                                                  N
                                                                      D
                                                                          S




    Exercise: Is there an O(k3 ) kernel? An O(k2 ) kernel?
U
.                                              PP
                                                 ER
               Connected Vertex Cover                 BO
                                                           U
                                                               N
                                                                   D
                                                                       S




Input: A graph G = (V, E) and an integer k.
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?
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
U
.                                               PP
                                                  ER
            Connected Vertex Cover                     BO
                                                            U
                                                                N
                                                                    D
                                                                        S




Exercise: Is there an O(k2 ) kernel? An O(kO(1) ) kernel?
U
.                                   PP
                                      ER
             Feedback Vertex Set           BO
                                                U
                                                    N
                                                        D
                                                            S




    forest
U
.                                              PP
                                                 ER
                  Feedback Vertex Set                 BO
                                                           U
                                                               N
                                                                   D
                                                                       S




Input: A graph G = (V, E) and an integer k.
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?
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
U
.                                                             PP
                                                                ER
                    Feedback Vertex Set                              BO
                                                                          U
                                                                              N
                                                                                  D
                                                                                      S




Notice that in this problem, we are looking to hit cycles.
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.
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.
U
.                                         PP
                                            ER
        Feedback Vertex Set                      BO
                                                      U
                                                          N
                                                              D
                                                                  S




    What about vertices of degree two?
U
.                                         PP
                                            ER
        Feedback Vertex Set                      BO
                                                      U
                                                          N
                                                              D
                                                                  S




    What about vertices of degree two?

     ese are also simple to handle...
U
.                          PP
                             ER
    Feedback Vertex Set           BO
                                       U
                                           N
                                               D
                                                   S
U
.                          PP
                             ER
    Feedback Vertex Set           BO
                                       U
                                           N
                                               D
                                                   S
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.
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?
U
.                                                  PP
                                                     ER
                  Feedback Vertex Set                     BO
                                                               U
                                                                   N
                                                                       D
                                                                           S




    Recall that we were lucky with high degree vertices for
                         vertex cover.
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...
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.
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?
U
.                                            PP
                                               ER
          Feedback Vertex Set                       BO
                                                         U
                                                             N
                                                                 D
                                                                     S


                  #of edges
                 Minimum degree three...
    FVS
                                           forest
U
.                                 PP
                                    ER
          Feedback Vertex Set            BO
                                              U
                                                  N
                                                      D
                                                          S


                 #of edges

    FVS
                                forest
U
.                                 PP
                                    ER
          Feedback Vertex Set            BO
                                              U
                                                  N
                                                      D
                                                          S


                 #of edges

    FVS
                                forest
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.
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).
U
                                                    PP
                                                      ER
                                                           BO
                                                                U
                                                                    N
                                  B                                     D
                                                                            S




                                      A



Assume that there are no isolated vertices in B.
                     bleh
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|.
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|.
U
                                               PP
                                                 ER
                                                      BO
                                                           U
                                                               N
                               B                                   D
                                                                       S




                                   A



en there exist two matchings saturating A,
                   bleh
U
                                               PP
                                                 ER
                                                      BO
                                                           U
                                                               N
                               B                                   D
                                                                       S




                                   A



en there exist two matchings saturating A,
                   bleh
U
                                               PP
                                                 ER
                                                      BO
                                                           U
                                                               N
                               B                                   D
                                                                       S




                                   A



en there exist two matchings saturating A,
            and disjoint in B.
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.
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.
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.
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.
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.
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.
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.
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,
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.
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.
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.
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|
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|
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|
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|
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|)
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|)
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|)
Ingredients
a high-degree vertex, v

                          Ingredients
a small hitting set,
                               sans v




a high-degree vertex, v

                              Ingredients
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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...
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.
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.
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.
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




                              forest



hitting set that excludes v
v




by 2-expansion
    lemma:                         forest



 hitting set that excludes v
v




by 2-expansion
    lemma:                     forest



 hitting set that excludes v
v




by 2-expansion
    lemma:                     forest



 hitting set that excludes v
v




                              forest



hitting set that excludes v
U
                        PP
                          ER
                               BO
                                    U
                                        N
                                            D
                                                S

e Forward Direction
U
                                  PP
                                    ER
                                         BO
                                              U
                                                  N
                                                      D
                                                          S

      e Forward Direction


FVS     k in G ⇒ FVS    k in H
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.
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.
U
                                                   PP
                                                     ER
                                                          BO
                                                               U
                                                                   N
                                                                       D
                                                                           S
Notice that this does not lead to a larger FVS:
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,
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.
U
                        PP
                          ER
                               BO
                                    U
                                        N
                                            D
                                                S

e Reverse Direction
U
                                  PP
                                    ER
                                         BO
                                              U
                                                  N
                                                      D
                                                          S

      e Reverse Direction


FVS     k in G ⇐ FVS    k in H
v




                              forest



hitting set that excludes v
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
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.
Demonstrating non-existence of
     Polynomial Kernels


                                                  S
                                                 D
                                             N
                                         U
                                    BO
                               ER
                              W
                            LO
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
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
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
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
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
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
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
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
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities
Efficient Simplification: The (im)possibilities

More Related Content

Similar to Efficient Simplification: The (im)possibilities

Detailed Lesson Plan in Mathematics
Detailed Lesson Plan in MathematicsDetailed Lesson Plan in Mathematics
Detailed Lesson Plan in MathematicsAbbygale Jade
 
DynamicProgramming.pptx
DynamicProgramming.pptxDynamicProgramming.pptx
DynamicProgramming.pptxSaimaShaheen14
 
January 25
January 25January 25
January 25khyps13
 
CO Quadratic Inequalties.pptx
CO Quadratic Inequalties.pptxCO Quadratic Inequalties.pptx
CO Quadratic Inequalties.pptxManuelEsponilla
 
TEDxNYED -- Dan Meyer
TEDxNYED -- Dan MeyerTEDxNYED -- Dan Meyer
TEDxNYED -- Dan Meyerddmeyer
 
4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theorem4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theoremsmiller5
 
4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theorem4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theoremsmiller5
 
Skiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challengeSkiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challengezukun
 
The Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and BackThe Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and BackMoshe Vardi
 
Patterns (Geometry 1_1)
Patterns (Geometry 1_1)Patterns (Geometry 1_1)
Patterns (Geometry 1_1)rfant
 
powerpoints probability.pptx
powerpoints probability.pptxpowerpoints probability.pptx
powerpoints probability.pptxcarrie mixto
 
Probability trinity college
Probability trinity collegeProbability trinity college
Probability trinity collegeStacy Carter
 
The lengths of pregnancies are normally distributed with mean µ = .docx
The lengths of pregnancies are normally distributed with mean µ = .docxThe lengths of pregnancies are normally distributed with mean µ = .docx
The lengths of pregnancies are normally distributed with mean µ = .docxoreo10
 
Learning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics ClassroomLearning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics ClassroomColleen Young
 

Similar to Efficient Simplification: The (im)possibilities (20)

Detailed Lesson Plan in Mathematics
Detailed Lesson Plan in MathematicsDetailed Lesson Plan in Mathematics
Detailed Lesson Plan in Mathematics
 
DynamicProgramming.pptx
DynamicProgramming.pptxDynamicProgramming.pptx
DynamicProgramming.pptx
 
0903 ch 9 day 3
0903 ch 9 day 30903 ch 9 day 3
0903 ch 9 day 3
 
January 25
January 25January 25
January 25
 
Lindsey c
Lindsey cLindsey c
Lindsey c
 
CO Quadratic Inequalties.pptx
CO Quadratic Inequalties.pptxCO Quadratic Inequalties.pptx
CO Quadratic Inequalties.pptx
 
Mathematical reasoning
Mathematical reasoningMathematical reasoning
Mathematical reasoning
 
TEDxNYED -- Dan Meyer
TEDxNYED -- Dan MeyerTEDxNYED -- Dan Meyer
TEDxNYED -- Dan Meyer
 
4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theorem4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theorem
 
4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theorem4.11.1 Pythagorean Theorem
4.11.1 Pythagorean Theorem
 
Skiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challengeSkiena algorithm 2007 lecture22 np completeness challenge
Skiena algorithm 2007 lecture22 np completeness challenge
 
Reasoning
Reasoning Reasoning
Reasoning
 
Day 3 review
Day 3 reviewDay 3 review
Day 3 review
 
The Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and BackThe Automated-Reasoning Revolution: from Theory to Practice and Back
The Automated-Reasoning Revolution: from Theory to Practice and Back
 
Patterns (Geometry 1_1)
Patterns (Geometry 1_1)Patterns (Geometry 1_1)
Patterns (Geometry 1_1)
 
powerpoints probability.pptx
powerpoints probability.pptxpowerpoints probability.pptx
powerpoints probability.pptx
 
Probability trinity college
Probability trinity collegeProbability trinity college
Probability trinity college
 
Day 3 review
Day 3 reviewDay 3 review
Day 3 review
 
The lengths of pregnancies are normally distributed with mean µ = .docx
The lengths of pregnancies are normally distributed with mean µ = .docxThe lengths of pregnancies are normally distributed with mean µ = .docx
The lengths of pregnancies are normally distributed with mean µ = .docx
 
Learning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics ClassroomLearning with Technology in the Mathematics Classroom
Learning with Technology in the Mathematics Classroom
 

More from Neeldhara Misra

Efficient algorithms for hard problems on structured electorates
Efficient algorithms for hard problems on structured electoratesEfficient algorithms for hard problems on structured electorates
Efficient algorithms for hard problems on structured electoratesNeeldhara Misra
 
On the Parameterized Complexity of Party Nominations
On the Parameterized Complexity of Party NominationsOn the Parameterized Complexity of Party Nominations
On the Parameterized Complexity of Party NominationsNeeldhara Misra
 
Graph Modification Problems: A Modern Perspective
Graph Modification Problems: A Modern PerspectiveGraph Modification Problems: A Modern Perspective
Graph Modification Problems: A Modern PerspectiveNeeldhara Misra
 
Deleting to Structured Trees
Deleting to Structured TreesDeleting to Structured Trees
Deleting to Structured TreesNeeldhara Misra
 
Elicitation for Preferences Single Peaked on Trees
Elicitation for Preferences Single Peaked on Trees Elicitation for Preferences Single Peaked on Trees
Elicitation for Preferences Single Peaked on Trees Neeldhara Misra
 
An FPT Algorithm for Maximum Edge Coloring
An FPT Algorithm for Maximum Edge ColoringAn FPT Algorithm for Maximum Edge Coloring
An FPT Algorithm for Maximum Edge ColoringNeeldhara Misra
 
Cheat Sheets for Hard Problems
Cheat Sheets for Hard ProblemsCheat Sheets for Hard Problems
Cheat Sheets for Hard ProblemsNeeldhara Misra
 
Kernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful MotifsKernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful MotifsNeeldhara Misra
 
Expansions for Reductions
Expansions for ReductionsExpansions for Reductions
Expansions for ReductionsNeeldhara Misra
 
Connected Dominating Set and Short Cycles
Connected Dominating Set and Short CyclesConnected Dominating Set and Short Cycles
Connected Dominating Set and Short CyclesNeeldhara Misra
 

More from Neeldhara Misra (12)

Efficient algorithms for hard problems on structured electorates
Efficient algorithms for hard problems on structured electoratesEfficient algorithms for hard problems on structured electorates
Efficient algorithms for hard problems on structured electorates
 
On the Parameterized Complexity of Party Nominations
On the Parameterized Complexity of Party NominationsOn the Parameterized Complexity of Party Nominations
On the Parameterized Complexity of Party Nominations
 
Graph Modification Problems: A Modern Perspective
Graph Modification Problems: A Modern PerspectiveGraph Modification Problems: A Modern Perspective
Graph Modification Problems: A Modern Perspective
 
Deleting to Structured Trees
Deleting to Structured TreesDeleting to Structured Trees
Deleting to Structured Trees
 
Elicitation for Preferences Single Peaked on Trees
Elicitation for Preferences Single Peaked on Trees Elicitation for Preferences Single Peaked on Trees
Elicitation for Preferences Single Peaked on Trees
 
Wg qcolorable
Wg qcolorableWg qcolorable
Wg qcolorable
 
An FPT Algorithm for Maximum Edge Coloring
An FPT Algorithm for Maximum Edge ColoringAn FPT Algorithm for Maximum Edge Coloring
An FPT Algorithm for Maximum Edge Coloring
 
Research in CS
Research in CSResearch in CS
Research in CS
 
Cheat Sheets for Hard Problems
Cheat Sheets for Hard ProblemsCheat Sheets for Hard Problems
Cheat Sheets for Hard Problems
 
Kernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful MotifsKernelization Complexity of Colorful Motifs
Kernelization Complexity of Colorful Motifs
 
Expansions for Reductions
Expansions for ReductionsExpansions for Reductions
Expansions for Reductions
 
Connected Dominating Set and Short Cycles
Connected Dominating Set and Short CyclesConnected Dominating Set and Short Cycles
Connected Dominating Set and Short Cycles
 

Efficient Simplification: The (im)possibilities

  • 1. Efficient Simplication: The (im)possibilities IMPECS 2010
  • 2. Discovering definitions. preprocessing, simplification, data reduction kernelization KERNELS
  • 3. Upper Bounds Combinatorial Tools and applications towards obtaining kernels. Compositions, reductions, and beyond: techniques with applications. Lower Bounds
  • 4. Consider the following nightmare from high school algebra homework:
  • 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. 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. 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. 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. 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. 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. 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. 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. Simplification is a good idea.
  • 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.
  • 16. A simplification procedure is powerful if it works...
  • 17. A simplification procedure is powerful if it works... ...all the time — on any input, however complicated.
  • 18. A simplification procedure is efficient if it beats...
  • 19. A simplification procedure is efficient if it beats... ...a brute-force approach hands-down — the faster, the better.
  • 20. A simplification procedure is good if it is powerful and efficient.
  • 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.
  • 26. What does it mean to “simplify”?
  • 27. e natural idea of simplification is “to reduce”.
  • 28. e natural idea of simplification is “to reduce”. Make it smaller.
  • 29. e natural idea of simplification is “to reduce”. Make it smaller. Let’s try to formalize this.
  • 30. Let us use n to denote the “size” of the problem.
  • 31. Let us use n to denote the “size” of the problem. Clearly, it is n that we wish to make smaller.
  • 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. eorem A NP-complete problem cannot be simplified unless P = NP.
  • 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)
  • 70. “Efficient” Kernelization What is a reasonable notion of efficiency for kernelization?
  • 71. “Efficient” Kernelization What is a reasonable notion of efficiency for kernelization? e smaller, the better.
  • 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...
  • 103. U . PP ER Feedback Vertex Set BO U N D S
  • 104. U . PP ER Feedback Vertex Set BO U N D S
  • 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|)
  • 141. a high-degree vertex, v Ingredients
  • 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.
  • 159. v forest hitting set that excludes v
  • 160. v forest hitting set that excludes v
  • 161. v forest hitting set that excludes v
  • 162. v forest hitting set that excludes v
  • 163. v forest hitting set that excludes v
  • 164. v forest hitting set that excludes v
  • 165. v forest hitting set that excludes v
  • 166. v forest hitting set that excludes v
  • 167. v forest hitting set that excludes v
  • 168. v forest hitting set that excludes v
  • 169. v by 2-expansion lemma: forest hitting set that excludes v
  • 170. v by 2-expansion lemma: forest hitting set that excludes v
  • 171. v by 2-expansion lemma: forest hitting set that excludes v
  • 172. v forest hitting set that excludes v
  • 173. U PP ER BO U N D S e Forward Direction
  • 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.
  • 183. U PP ER BO U N D S e Reverse Direction
  • 184. U PP ER BO U N D S e Reverse Direction FVS k in G ⇐ FVS k in H
  • 185. v forest hitting set that excludes v
  • 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.
  • 190. Demonstrating non-existence of Polynomial Kernels S D N U BO ER W LO
  • 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