50
Vertex Cover 1 st FPT Parameterized Complexity 1 st Kernel Kernelization Linear Kernel via LP Conclusion Graph Theory and Optimization Parameterized Algorithms Nicolas Nisse Université Côte d’Azur, Inria, CNRS, I3S, France October 2018 N. Nisse Graph Theory and applications 1/22

Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

  • Upload
    others

  • View
    23

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Graph Theory and OptimizationParameterized Algorithms

Nicolas Nisse

Université Côte d’Azur, Inria, CNRS, I3S, France

October 2018

N. Nisse Graph Theory and applications 1/22

Page 2: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

What is it about?

• Goal:• Find “efficient” exact algorithms for difficult problems (NP-hard).

• For some (NP-hard) problems, the difficulty is not due to the sizeof the input, but to...the structure of the input, the size of the solution...

• Introduction to Parameterized Algorithms through Vertex Cover

A very nice book:

M. Cygan, F.V. Fomin, L. Kowalik, D. Lokshtanov, D. Marx, M. Pilipczuk, M. Pilipczuk, S. Saurabh:

Parameterized Algorithms. Springer 2015, ISBN 978-3-319-21274-6, pp. 3-555

N. Nisse Graph Theory and applications 2/22

Page 3: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 3/22

Page 4: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Reminder on Minimum Vertex CoverLet G = (V ,E) be a graph

Vertex Cover: set K ⊆ V such that ∀e ∈ E , e∩K 6= /0set of vertices that “touch" every edge

Finding a Vertex Cover of minimum size is “difficult"

Compute a Min. Vertex Cover is NP-complete[Garey,Johnson 1979]

Example of vertex coverof size 7 (in blue)

Exercise: Give an algorithm for computing a min. Vertex Cover in a graph

Naive Exact Algo. for Min. Vertex Coverinput: graph G = (V ,E)

For k = 1 to |V |−1 doFor every set S ⊆ V of size k do

If S is a vertex cover of Gthen Return S

Time-complexity: O(2|V ||E |)

2|V | : number of subsets of verticesO(|E |): time to check if vertex cover

⇒ Exponential in the size of the graph.

N. Nisse Graph Theory and applications 4/22

Page 5: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Reminder on Minimum Vertex CoverLet G = (V ,E) be a graph

Vertex Cover: set K ⊆ V such that ∀e ∈ E , e∩K 6= /0set of vertices that “touch" every edge

Finding a Vertex Cover of minimum size is “difficult"

Compute a Min. Vertex Cover is NP-complete[Garey,Johnson 1979]

Example of vertex coverof size 7 (in blue)

Exercise: Give an algorithm for computing a min. Vertex Cover in a graph

Naive Exact Algo. for Min. Vertex Coverinput: graph G = (V ,E)

For k = 1 to |V |−1 doFor every set S ⊆ V of size k do

If S is a vertex cover of Gthen Return S

Time-complexity: O(2|V ||E |)

2|V | : number of subsets of verticesO(|E |): time to check if vertex cover

⇒ Exponential in the size of the graph.

N. Nisse Graph Theory and applications 4/22

Page 6: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Reminder on Minimum Vertex CoverLet G = (V ,E) be a graph

Vertex Cover: set K ⊆ V such that ∀e ∈ E , e∩K 6= /0set of vertices that “touch" every edge

Finding a Vertex Cover of minimum size is “difficult"

Compute a Min. Vertex Cover is NP-complete[Garey,Johnson 1979]

Example of vertex coverof size 7 (in blue)

Exercise: Give an algorithm for computing a min. Vertex Cover in a graph

Naive Exact Algo. for Min. Vertex Coverinput: graph G = (V ,E)

For k = 1 to |V |−1 doFor every set S ⊆ V of size k do

If S is a vertex cover of Gthen Return S

Time-complexity: O(2|V ||E |)

2|V | : number of subsets of verticesO(|E |): time to check if vertex cover

⇒ Exponential in the size of the graph.

N. Nisse Graph Theory and applications 4/22

Page 7: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Reminder on Minimum Vertex CoverLet G = (V ,E) be a graph

Vertex Cover: set K ⊆ V such that ∀e ∈ E , e∩K 6= /0set of vertices that “touch" every edge

Finding a Vertex Cover of minimum size is “difficult"

Compute a Min. Vertex Cover is NP-complete[Garey,Johnson 1979]

Example of vertex coverof size 7 (in blue)

Exercise: Give an algorithm for computing a min. Vertex Cover in a graph

Naive Exact Algo. for Min. Vertex Coverinput: graph G = (V ,E)

For k = 1 to |V |−1 doFor every set S ⊆ V of size k do

If S is a vertex cover of Gthen Return S

Time-complexity: O(2|V ||E |)

2|V | : number of subsets of verticesO(|E |): time to check if vertex cover

⇒ Exponential in the size of the graph.

N. Nisse Graph Theory and applications 4/22

Page 8: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Toward “polynomial" algorithmsComplexity of deciding if a graph has a vertex cover of size 1? of size 2?...

Exercise: Let k ∈ N be a fixed integerGive an algorithm for deciding if a graph has a vertex cover of size kWhat is its complexity?

Algorithm 1 for fixed k

fixed parameter: k ∈ Ninput: graph G = (V ,E)

For every set S ⊆ V of size k do

If S is a vertex cover of G

then Return S

Return “No vertex cover of size ≤ k"

Time-complexity: O(|V |k |E |)|V |k : # of subsets of vertices of size kO(|E |): time to check if vertex cover

⇒ Polynomial in the size of the graph.

Remark: the algorithm is still exponential (in the size k of the solution)

N. Nisse Graph Theory and applications 5/22

Page 9: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Toward “polynomial" algorithmsComplexity of deciding if a graph has a vertex cover of size 1? of size 2?...

Exercise: Let k ∈ N be a fixed integerGive an algorithm for deciding if a graph has a vertex cover of size kWhat is its complexity?

Algorithm 1 for fixed k

fixed parameter: k ∈ Ninput: graph G = (V ,E)

For every set S ⊆ V of size k do

If S is a vertex cover of G

then Return S

Return “No vertex cover of size ≤ k"

Time-complexity: O(|V |k |E |)|V |k : # of subsets of vertices of size kO(|E |): time to check if vertex cover

⇒ Polynomial in the size of the graph.

Remark: the algorithm is still exponential (in the size k of the solution)

N. Nisse Graph Theory and applications 5/22

Page 10: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Toward “polynomial" algorithmsComplexity of deciding if a graph has a vertex cover of size 1? of size 2?...

Exercise: Let k ∈ N be a fixed integerGive an algorithm for deciding if a graph has a vertex cover of size kWhat is its complexity?

Algorithm 1 for fixed k

fixed parameter: k ∈ Ninput: graph G = (V ,E)

For every set S ⊆ V of size k do

If S is a vertex cover of G

then Return S

Return “No vertex cover of size ≤ k"

Time-complexity: O(|V |k |E |)|V |k : # of subsets of vertices of size kO(|E |): time to check if vertex cover

⇒ Polynomial in the size of the graph.

Remark: the algorithm is still exponential (in the size k of the solution)

N. Nisse Graph Theory and applications 5/22

Page 11: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Toward “polynomial" algorithmsComplexity of deciding if a graph has a vertex cover of size 1? of size 2?...

Exercise: Let k ∈ N be a fixed integerGive an algorithm for deciding if a graph has a vertex cover of size kWhat is its complexity?

Algorithm 1 for fixed k

fixed parameter: k ∈ Ninput: graph G = (V ,E)

For every set S ⊆ V of size k do

If S is a vertex cover of G

then Return S

Return “No vertex cover of size ≤ k"

Time-complexity: O(|V |k |E |)|V |k : # of subsets of vertices of size kO(|E |): time to check if vertex cover

⇒ Polynomial in the size of the graph.

Remark: the algorithm is still exponential (in the size k of the solution)

N. Nisse Graph Theory and applications 5/22

Page 12: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Toward “polynomial" algorithmsComplexity of deciding if a graph has a vertex cover of size 1? of size 2?...

Exercise: Let k ∈ N be a fixed integerGive an algorithm for deciding if a graph has a vertex cover of size kWhat is its complexity?

Algorithm 1 for fixed k

fixed parameter: k ∈ Ninput: graph G = (V ,E)

For every set S ⊆ V of size k do

If S is a vertex cover of G

then Return S

Return “No vertex cover of size ≤ k"

Time-complexity: O(|V |k |E |)|V |k : # of subsets of vertices of size kO(|E |): time to check if vertex cover

⇒ Polynomial in the size of the graph.

Remark: the algorithm is still exponential (in the size k of the solution)

N. Nisse Graph Theory and applications 5/22

Page 13: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 6/22

Page 14: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Two simple Lemmas

G = (V ,E) be a graph vc(G)= min. size of a vertex cover in G

Lemma 1: vc(G)≤ k ⇒ |E | ≤ k(|V |−1)small vertex cover⇒ “few" edges

proof: Let S ⊆ V be any vertex cover of size at most k . Each vertex of S covers atmost |V |−1 edges. Each edge must be covered.

Lemma 2: Let {x ,y} ∈ E . vc(G) = min{vc(G \ x),vc(G \ y)}+ 1“for any edge xy , any minimum vertex cover contains at least one of x or y ..."

proof:

• Let S ⊆ V be any vertex cover of G \ x . Then S∪{x} is a vertex cover of G.Hence vc(G)≤ vc(G \ x)+1 (symmetrically for G \ y )

• Let S ⊆ V be any vertex cover of G. At least one of x or y is in S.

If x ∈ S then S \ x vertex cover of G \ x . Hence vc(G \ x)≤ vc(G)−1.

Otherwise, if y ∈ S, then S \ y vertex cover of G \ y and vc(G \ y)≤ vc(G)−1.

N. Nisse Graph Theory and applications 7/22

Page 15: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Two simple Lemmas

G = (V ,E) be a graph vc(G)= min. size of a vertex cover in G

Lemma 1: vc(G)≤ k ⇒ |E | ≤ k(|V |−1)small vertex cover⇒ “few" edges

proof: Let S ⊆ V be any vertex cover of size at most k . Each vertex of S covers atmost |V |−1 edges. Each edge must be covered.

Lemma 2: Let {x ,y} ∈ E . vc(G) = min{vc(G \ x),vc(G \ y)}+ 1“for any edge xy , any minimum vertex cover contains at least one of x or y ..."

proof:

• Let S ⊆ V be any vertex cover of G \ x . Then S∪{x} is a vertex cover of G.Hence vc(G)≤ vc(G \ x)+1 (symmetrically for G \ y )

• Let S ⊆ V be any vertex cover of G. At least one of x or y is in S.

If x ∈ S then S \ x vertex cover of G \ x . Hence vc(G \ x)≤ vc(G)−1.

Otherwise, if y ∈ S, then S \ y vertex cover of G \ y and vc(G \ y)≤ vc(G)−1.

N. Nisse Graph Theory and applications 7/22

Page 16: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Two simple Lemmas

G = (V ,E) be a graph vc(G)= min. size of a vertex cover in G

Lemma 1: vc(G)≤ k ⇒ |E | ≤ k(|V |−1)small vertex cover⇒ “few" edges

proof: Let S ⊆ V be any vertex cover of size at most k . Each vertex of S covers atmost |V |−1 edges. Each edge must be covered.

Lemma 2: Let {x ,y} ∈ E . vc(G) = min{vc(G \ x),vc(G \ y)}+ 1“for any edge xy , any minimum vertex cover contains at least one of x or y ..."

proof:

• Let S ⊆ V be any vertex cover of G \ x . Then S∪{x} is a vertex cover of G.Hence vc(G)≤ vc(G \ x)+1 (symmetrically for G \ y )

• Let S ⊆ V be any vertex cover of G. At least one of x or y is in S.

If x ∈ S then S \ x vertex cover of G \ x . Hence vc(G \ x)≤ vc(G)−1.

Otherwise, if y ∈ S, then S \ y vertex cover of G \ y and vc(G \ y)≤ vc(G)−1.

N. Nisse Graph Theory and applications 7/22

Page 17: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Two simple Lemmas

G = (V ,E) be a graph vc(G)= min. size of a vertex cover in G

Lemma 1: vc(G)≤ k ⇒ |E | ≤ k(|V |−1)small vertex cover⇒ “few" edges

proof: Let S ⊆ V be any vertex cover of size at most k . Each vertex of S covers atmost |V |−1 edges. Each edge must be covered.

Lemma 2: Let {x ,y} ∈ E . vc(G) = min{vc(G \ x),vc(G \ y)}+ 1“for any edge xy , any minimum vertex cover contains at least one of x or y ..."

proof:

• Let S ⊆ V be any vertex cover of G \ x . Then S∪{x} is a vertex cover of G.Hence vc(G)≤ vc(G \ x)+1 (symmetrically for G \ y )

• Let S ⊆ V be any vertex cover of G. At least one of x or y is in S.

If x ∈ S then S \ x vertex cover of G \ x . Hence vc(G \ x)≤ vc(G)−1.

Otherwise, if y ∈ S, then S \ y vertex cover of G \ y and vc(G \ y)≤ vc(G)−1.

N. Nisse Graph Theory and applications 7/22

Page 18: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First FPT algorithmLemma 2 proves the correctness of the following algorithm

Rec: Branch & Bound Algorithm for computing Minimum size Vertex Coverinput: graph G = (V ,E)

If |E |= 0, Return 0. Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Rec(G\x), B = Rec(G\y), Return min{A,B}+1

Question: vc(G)≤ k? limit recursion-depth + limit # of edges (Lemma 1)

Alg2: Branch & Bound Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |> 0 and `= 0, Return ∞. Else if |E |= 0, Return 0.Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Alg2(G \ x , `−1), B = Alg2(G \ y , `−1), Returnmin{A,B}+1

A

D

F

E

B

C

AD{A} {D}

BF{A,B} {A,F}

CF{A,B,C} {A,B,F}

DE{A,F,D} {A,F,E}

BF{D,B} {D,F}

CF{D,B,C} {D,B,F}vc(G) k = 3vc(G) k = 3 ?

depthk=3

Binary tree of depth O(k): Complexity: O(2k |E |). By Lem. 1, |E |= O(k |V |),

Alg2 decides if vc(G)≤ k in time O(2k · k |V |) (linear in |G|)|V | and k are “separated" ⇒ Fixed Parameterized Tractable (FPT)

N. Nisse Graph Theory and applications 8/22

Page 19: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First FPT algorithmLemma 2 proves the correctness of the following algorithm

Rec: Branch & Bound Algorithm for computing Minimum size Vertex Coverinput: graph G = (V ,E)

If |E |= 0, Return 0. Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Rec(G\x), B = Rec(G\y), Return min{A,B}+1

A

D

F

E

B

C

AD{A} {D}

BF{A,B} {A,F}

CF{A,B,C} {A,B,F}

FE{A,B,C,F} {A,B,C,E}

DE

{A,B,C,F,D} {A,B,C,F,E}

DF{A,B,C,E,D} {A,B,C,E,F}

DE{A,B,F,D} {A,B,F,E}

DE{A,F,D} {A,F,E}

BF{D,B} {D,F}

CF{D,B,C} {D,B,F}

FE{D,B,C,F} {D,B,C,E}

Binary tree of depth O(|V |). Complexity: O(2|V ||E |).

Question: vc(G)≤ k? limit recursion-depth + limit # of edges (Lemma 1)

Alg2: Branch & Bound Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |> 0 and `= 0, Return ∞. Else if |E |= 0, Return 0.Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Alg2(G \ x , `−1), B = Alg2(G \ y , `−1), Returnmin{A,B}+1

A

D

F

E

B

C

AD{A} {D}

BF{A,B} {A,F}

CF{A,B,C} {A,B,F}

DE{A,F,D} {A,F,E}

BF{D,B} {D,F}

CF{D,B,C} {D,B,F}vc(G) k = 3vc(G) k = 3 ?

depthk=3

Binary tree of depth O(k): Complexity: O(2k |E |). By Lem. 1, |E |= O(k |V |),

Alg2 decides if vc(G)≤ k in time O(2k · k |V |) (linear in |G|)|V | and k are “separated" ⇒ Fixed Parameterized Tractable (FPT)

N. Nisse Graph Theory and applications 8/22

Page 20: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First FPT algorithmLemma 2 proves the correctness of the following algorithm

Rec: Branch & Bound Algorithm for computing Minimum size Vertex Coverinput: graph G = (V ,E)

If |E |= 0, Return 0. Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Rec(G\x), B = Rec(G\y), Return min{A,B}+1

Question: vc(G)≤ k? limit recursion-depth + limit # of edges (Lemma 1)

Alg2: Branch & Bound Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |> 0 and `= 0, Return ∞. Else if |E |= 0, Return 0.Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Alg2(G \ x , `−1), B = Alg2(G \ y , `−1), Returnmin{A,B}+1

A

D

F

E

B

C

AD{A} {D}

BF{A,B} {A,F}

CF{A,B,C} {A,B,F}

DE{A,F,D} {A,F,E}

BF{D,B} {D,F}

CF{D,B,C} {D,B,F}vc(G) k = 3vc(G) k = 3 ?

depthk=3

Binary tree of depth O(k): Complexity: O(2k |E |). By Lem. 1, |E |= O(k |V |),

Alg2 decides if vc(G)≤ k in time O(2k · k |V |) (linear in |G|)|V | and k are “separated" ⇒ Fixed Parameterized Tractable (FPT)

N. Nisse Graph Theory and applications 8/22

Page 21: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First FPT algorithmQuestion: vc(G)≤ k? limit recursion-depth + limit # of edges (Lemma 1)

Alg2: Branch & Bound Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |> 0 and `= 0, Return ∞. Else if |E |= 0, Return 0.Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Alg2(G \ x , `−1), B = Alg2(G \ y , `−1), Returnmin{A,B}+1

A

D

F

E

B

C

AD{A} {D}

BF{A,B} {A,F}

CF{A,B,C} {A,B,F}

DE{A,F,D} {A,F,E}

BF{D,B} {D,F}

CF{D,B,C} {D,B,F}vc(G) k = 3vc(G) k = 3 ?

depthk=3

Binary tree of depth O(k): Complexity: O(2k |E |). By Lem. 1, |E |= O(k |V |),

Alg2 decides if vc(G)≤ k in time O(2k · k |V |) (linear in |G|)|V | and k are “separated" ⇒ Fixed Parameterized Tractable (FPT)

N. Nisse Graph Theory and applications 8/22

Page 22: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First FPT algorithmQuestion: vc(G)≤ k? limit recursion-depth + limit # of edges (Lemma 1)

Alg2: Branch & Bound Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |> 0 and `= 0, Return ∞. Else if |E |= 0, Return 0.Else if |E |= 1, Return 1Else Let {x ,y} ∈ E , let A = Alg2(G \ x , `−1), B = Alg2(G \ y , `−1), Returnmin{A,B}+1

A

D

F

E

B

C

AD{A} {D}

BF{A,B} {A,F}

CF{A,B,C} {A,B,F}

DE{A,F,D} {A,F,E}

BF{D,B} {D,F}

CF{D,B,C} {D,B,F}vc(G) k = 3vc(G) k = 3 ?

depthk=3

Binary tree of depth O(k): Complexity: O(2k |E |). By Lem. 1, |E |= O(k |V |),

Alg2 decides if vc(G)≤ k in time O(2k · k |V |) (linear in |G|)|V | and k are “separated" ⇒ Fixed Parameterized Tractable (FPT)

N. Nisse Graph Theory and applications 8/22

Page 23: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 9/22

Page 24: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Parameterized Complexity in brief

Parameterized ProblemA parameterized problem is a language L⊆ Σ∗×Σ∗, where Σ is a finitealphabet. The first component corresponds to the input. The secondcomponent is called the parameter of the problem.

Class FPTA parameterized problem is fixed-parameter tractable (FPT) if it can bedetermined in time f (k) · |x |O(1) whether (x ,k) ∈ L, where f is a computablefunction only depending on k .The corresponding complexity class is called FPT.

In other words:Given a (NP-hard) problem with input of size n and a parameter k , a FPTalgorithm runs in time f (k) ·nO(1) for some computable function f .

Examples: k -Vertex Cover, k -Longest Path...

N. Nisse Graph Theory and applications 10/22

Page 25: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 11/22

Page 26: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Data ReductionA general GOOD idea: Data reductionFind simple rules to reduce the size of the input

From input G, compute (in polynomial-time) another instance G′ s.t.

|G′|< |G| and a solution for G can be deduced from a solution for G′.

Hence, it is sufficient to solve the problem on the (smaller) instance G′

Back to k -Vertex Cover:

Lemma 3: Let G = (V ,E) and v ∈ V with degree > k .Then v belongs to any vertex cover S of size at most k

proof: Indeed, if v /∈ S, all its neighbors must belong to it and |S|> k .

Rule: If G has a vertex v of degree > k , vc(G)≤ k ⇔ vc(G \ v)≤ k−1.

Lemma 4: G = (V ,E). If vc(G)≤ k and no vertex of degree > kThen |E | ≤ k2

proof: Each of the ≤ k vertices of a Vertex Cover covers at most k edges.

N. Nisse Graph Theory and applications 12/22

Page 27: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Data ReductionA general GOOD idea: Data reductionFind simple rules to reduce the size of the input

From input G, compute (in polynomial-time) another instance G′ s.t.

|G′|< |G| and a solution for G can be deduced from a solution for G′.

Hence, it is sufficient to solve the problem on the (smaller) instance G′

Back to k -Vertex Cover:

Lemma 3: Let G = (V ,E) and v ∈ V with degree > k .Then v belongs to any vertex cover S of size at most k

proof: Indeed, if v /∈ S, all its neighbors must belong to it and |S|> k .

Rule: If G has a vertex v of degree > k , vc(G)≤ k ⇔ vc(G \ v)≤ k−1.

Lemma 4: G = (V ,E). If vc(G)≤ k and no vertex of degree > kThen |E | ≤ k2

proof: Each of the ≤ k vertices of a Vertex Cover covers at most k edges.

N. Nisse Graph Theory and applications 12/22

Page 28: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Data ReductionA general GOOD idea: Data reductionFind simple rules to reduce the size of the input

From input G, compute (in polynomial-time) another instance G′ s.t.

|G′|< |G| and a solution for G can be deduced from a solution for G′.

Hence, it is sufficient to solve the problem on the (smaller) instance G′

Back to k -Vertex Cover:

Lemma 3: Let G = (V ,E) and v ∈ V with degree > k .Then v belongs to any vertex cover S of size at most kproof: Indeed, if v /∈ S, all its neighbors must belong to it and |S|> k .

Rule: If G has a vertex v of degree > k , vc(G)≤ k ⇔ vc(G \ v)≤ k−1.

Lemma 4: G = (V ,E). If vc(G)≤ k and no vertex of degree > kThen |E | ≤ k2

proof: Each of the ≤ k vertices of a Vertex Cover covers at most k edges.

N. Nisse Graph Theory and applications 12/22

Page 29: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Data ReductionA general GOOD idea: Data reductionFind simple rules to reduce the size of the input

From input G, compute (in polynomial-time) another instance G′ s.t.

|G′|< |G| and a solution for G can be deduced from a solution for G′.

Hence, it is sufficient to solve the problem on the (smaller) instance G′

Back to k -Vertex Cover:

Lemma 3: Let G = (V ,E) and v ∈ V with degree > k .Then v belongs to any vertex cover S of size at most kproof: Indeed, if v /∈ S, all its neighbors must belong to it and |S|> k .

Rule: If G has a vertex v of degree > k , vc(G)≤ k ⇔ vc(G \ v)≤ k−1.

Lemma 4: G = (V ,E). If vc(G)≤ k and no vertex of degree > kThen |E | ≤ k2

proof: Each of the ≤ k vertices of a Vertex Cover covers at most k edges.

N. Nisse Graph Theory and applications 12/22

Page 30: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? Data ReductionA general GOOD idea: Data reductionFind simple rules to reduce the size of the input

From input G, compute (in polynomial-time) another instance G′ s.t.

|G′|< |G| and a solution for G can be deduced from a solution for G′.

Hence, it is sufficient to solve the problem on the (smaller) instance G′

Back to k -Vertex Cover:

Lemma 3: Let G = (V ,E) and v ∈ V with degree > k .Then v belongs to any vertex cover S of size at most kproof: Indeed, if v /∈ S, all its neighbors must belong to it and |S|> k .

Rule: If G has a vertex v of degree > k , vc(G)≤ k ⇔ vc(G \ v)≤ k−1.

Lemma 4: G = (V ,E). If vc(G)≤ k and no vertex of degree > kThen |E | ≤ k2

proof: Each of the ≤ k vertices of a Vertex Cover covers at most k edges.

N. Nisse Graph Theory and applications 12/22

Page 31: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First Kernelization algorithm

Alg3: Kernelization Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

Remove isolated verticesIf |E |= 0, Return TRUE . Else if `= 0, Return FALSEElse if no vertex of degree > ` and |V |> `2, Return FALSEElse if no vertex of degree > `, Apply Alg2(G, `)Else Let v be a vertex of degree > `. Apply Alg3(G \ v , `−1).

While there is a “high" degree node, add it to the solution. When there are no suchnodes, either it remains too much edges to have a small vertex cover. Otherwise,apply brute force algorithm (e.g., Alg2) to the remaining “small" graph

Time-complexity: O(2k · k2 + |V | · k) (It is a FPT algorithm!!)

O(|V | · k) : find at most k vertices of “high" degree Reduction RuleO(2k · k2): application of Alg2 to a graph with O(k2) edges “Brute Force"

Kernelization: Apply reduction rule(s) until the instance has constant (onlydependent on k ) size. Then apply “brute force"

N. Nisse Graph Theory and applications 13/22

Page 32: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First Kernelization algorithm

Alg3: Kernelization Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

Remove isolated verticesIf |E |= 0, Return TRUE . Else if `= 0, Return FALSEElse if no vertex of degree > ` and |V |> `2, Return FALSEElse if no vertex of degree > `, Apply Alg2(G, `)Else Let v be a vertex of degree > `. Apply Alg3(G \ v , `−1).

While there is a “high" degree node, add it to the solution. When there are no suchnodes, either it remains too much edges to have a small vertex cover. Otherwise,apply brute force algorithm (e.g., Alg2) to the remaining “small" graph

Time-complexity: O(2k · k2 + |V | · k) (It is a FPT algorithm!!)

O(|V | · k) : find at most k vertices of “high" degree Reduction RuleO(2k · k2): application of Alg2 to a graph with O(k2) edges “Brute Force"

Kernelization: Apply reduction rule(s) until the instance has constant (onlydependent on k ) size. Then apply “brute force"

N. Nisse Graph Theory and applications 13/22

Page 33: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover of size ≤ k? First Kernelization algorithm

Alg3: Kernelization Algorithm for deciding if vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

Remove isolated verticesIf |E |= 0, Return TRUE . Else if `= 0, Return FALSEElse if no vertex of degree > ` and |V |> `2, Return FALSEElse if no vertex of degree > `, Apply Alg2(G, `)Else Let v be a vertex of degree > `. Apply Alg3(G \ v , `−1).

While there is a “high" degree node, add it to the solution. When there are no suchnodes, either it remains too much edges to have a small vertex cover. Otherwise,apply brute force algorithm (e.g., Alg2) to the remaining “small" graph

Time-complexity: O(2k · k2 + |V | · k) (It is a FPT algorithm!!)

O(|V | · k) : find at most k vertices of “high" degree Reduction RuleO(2k · k2): application of Alg2 to a graph with O(k2) edges “Brute Force"

Kernelization: Apply reduction rule(s) until the instance has constant (onlydependent on k ) size. Then apply “brute force"

N. Nisse Graph Theory and applications 13/22

Page 34: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Vertex Cover Comparison of previous algorithms

Problem: Let k ∈ N be a fixed integer. Given G = (V ,E), vc(G)≤ k?

time-complexity numerical example|V |= 104 and k = 10

brute-force for Min. Vertex Cover O(|E | ·2|V |) >> 103000

brute-force, k fixed (Alg1) O(|E ||V |k ) 1048

bounded Branch & Bound (Alg2) O(2k · k |V |) 108

first kernelization (Alg3) O(2k · k2 + k |V |) 2 ·105

N. Nisse Graph Theory and applications 14/22

Page 35: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 15/22

Page 36: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Kernelization

Problem KernelLet L be a parameterized problem, that is, L consists of (I,k), where I is theproblem instance and k is the parameter.Reduction to a problem kernel then means to replace instance (I,k) by a“reduced" instance (I′,k ′) (called problem kernel) such that

1 k ′ ≤ k , |I′| ≤ g(k) for some function g only depending on k ,

2 (I,k) ∈ L if and only if (I′,k ′) ∈ L, and

3 reduction from (I,k) to (I′,k ′) has to be computable in polynomial time.

A Kernelization algorithm consists in1 reduce the size of the instance I in time polynomial in |I|= n

2 solve the problem on the reduced instance I′ with size O(g(k))

Time-complexity: O(f (g(k)) + nO(1)

where function f is the time-complexity for solving the problem on I′ (e.g., brute force)It is a FPT algorithm!!

N. Nisse Graph Theory and applications 16/22

Page 37: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Kernelization

Problem KernelLet L be a parameterized problem, that is, L consists of (I,k), where I is theproblem instance and k is the parameter.Reduction to a problem kernel then means to replace instance (I,k) by a“reduced" instance (I′,k ′) (called problem kernel) such that

1 k ′ ≤ k , |I′| ≤ g(k) for some function g only depending on k ,

2 (I,k) ∈ L if and only if (I′,k ′) ∈ L, and

3 reduction from (I,k) to (I′,k ′) has to be computable in polynomial time.

A Kernelization algorithm consists in1 reduce the size of the instance I in time polynomial in |I|= n

2 solve the problem on the reduced instance I′ with size O(g(k))

Time-complexity: O(f (g(k)) + nO(1)

where function f is the time-complexity for solving the problem on I′ (e.g., brute force)It is a FPT algorithm!!

N. Nisse Graph Theory and applications 16/22

Page 38: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

FPT vs. Kernelization

Theorem: [Bodlaender et al. 2009]

A parameterized problem is FPT if and only ifit is decidable and has a kernelization algorithm.

proof: ⇐ see previous slide (“decidable" implies that function f exists)⇒ Kernelization: Apply the FPT algorithm. The kernel is the answer ∈ {YES,NO}.

It is desirable (if possible) to compute “small" kernel, e.g.,

• linear kernel g(k) = O(k)

• quadratic kernel g(k) = O(k2)

Example: Alg3 for Vertex Cover

• ...

In what follows: kernelization algorithm for Vertex Cover with linear kernel

N. Nisse Graph Theory and applications 17/22

Page 39: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

FPT vs. Kernelization

Theorem: [Bodlaender et al. 2009]

A parameterized problem is FPT if and only ifit is decidable and has a kernelization algorithm.

proof: ⇐ see previous slide (“decidable" implies that function f exists)⇒ Kernelization: Apply the FPT algorithm. The kernel is the answer ∈ {YES,NO}.

It is desirable (if possible) to compute “small" kernel, e.g.,

• linear kernel g(k) = O(k)

• quadratic kernel g(k) = O(k2)

Example: Alg3 for Vertex Cover

• ...

In what follows: kernelization algorithm for Vertex Cover with linear kernel

N. Nisse Graph Theory and applications 17/22

Page 40: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

FPT vs. Kernelization

Theorem: [Bodlaender et al. 2009]

A parameterized problem is FPT if and only ifit is decidable and has a kernelization algorithm.

proof: ⇐ see previous slide (“decidable" implies that function f exists)⇒ Kernelization: Apply the FPT algorithm. The kernel is the answer ∈ {YES,NO}.

It is desirable (if possible) to compute “small" kernel, e.g.,

• linear kernel g(k) = O(k)

• quadratic kernel g(k) = O(k2)

Example: Alg3 for Vertex Cover

• ...

In what follows: kernelization algorithm for Vertex Cover with linear kernel

N. Nisse Graph Theory and applications 17/22

Page 41: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

FPT vs. Kernelization

Theorem: [Bodlaender et al. 2009]

A parameterized problem is FPT if and only ifit is decidable and has a kernelization algorithm.

proof: ⇐ see previous slide (“decidable" implies that function f exists)⇒ Kernelization: Apply the FPT algorithm. The kernel is the answer ∈ {YES,NO}.

It is desirable (if possible) to compute “small" kernel, e.g.,

• linear kernel g(k) = O(k)

• quadratic kernel g(k) = O(k2)

Example: Alg3 for Vertex Cover

• ...

In what follows: kernelization algorithm for Vertex Cover with linear kernel

N. Nisse Graph Theory and applications 17/22

Page 42: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 18/22

Page 43: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Back to Fractional Relaxation for Vertex CoverLet G = (V ,E) be a graph

Integer Linear programme (ILP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ∈ {0,1} ∀v ∈ V

Fractional relaxation (LP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ≥ 0 ∀v ∈ V

Theorem: From Fractional to Integral SolutionLet (xv )v∈V be a fractional optimal solution.V0 = {v ∈ V | xv < 1/2} , V1 = {v ∈ V | xv > 1/2} and V1/2 = {v ∈ V | xv = 1/2}There exists a Minimum (Integral) vertex cover S such that V1 ⊆ S ⊆ V1∪V1/2

Corollary: reduction Rule using LP for Vertex Cover

Let (xv )v∈V be a fractional optimal solution.Then vc(G)≤ k if and only if vc(G \V1)≤ k−|V1|.

N. Nisse Graph Theory and applications 19/22

Page 44: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Back to Fractional Relaxation for Vertex CoverLet G = (V ,E) be a graph

Integer Linear programme (ILP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ∈ {0,1} ∀v ∈ V

Fractional relaxation (LP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ≥ 0 ∀v ∈ V

Theorem: From Fractional to Integral SolutionLet (xv )v∈V be a fractional optimal solution.V0 = {v ∈ V | xv < 1/2} , V1 = {v ∈ V | xv > 1/2} and V1/2 = {v ∈ V | xv = 1/2}There exists a Minimum (Integral) vertex cover S such that V1 ⊆ S ⊆ V1∪V1/2

Corollary: reduction Rule using LP for Vertex Cover

Let (xv )v∈V be a fractional optimal solution.Then vc(G)≤ k if and only if vc(G \V1)≤ k−|V1|.

N. Nisse Graph Theory and applications 19/22

Page 45: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Back to Fractional Relaxation for Vertex CoverLet G = (V ,E) be a graph

Integer Linear programme (ILP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ∈ {0,1} ∀v ∈ V

Fractional relaxation (LP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ≥ 0 ∀v ∈ V

Theorem: From Fractional to Integral SolutionLet (xv )v∈V be a fractional optimal solution.V0 = {v ∈ V | xv < 1/2} , V1 = {v ∈ V | xv > 1/2} and V1/2 = {v ∈ V | xv = 1/2}There exists a Minimum (Integral) vertex cover S such that V1 ⊆ S ⊆ V1∪V1/2

proof: S∗ be an optimal (integral) solution of Vertex Cover. Let S = (S∗ \V0)∪V1.Clearly S is a vertex cover. By contradiction, if S is not optimal, |S∗∩V0|< |V1 \S∗|.Let v ∈ V1∪V0 be a vertex with xv as close as possible from 1/2 (exists byassumption). Let ε = |xv −1/2|. Remove ε to xw for any w ∈ V1 \S∗ and add ε to xwfor any w ∈ V0∩S∗. We get a smaller feasible fractional solution, a contradiction.

Corollary: reduction Rule using LP for Vertex Cover

Let (xv )v∈V be a fractional optimal solution.Then vc(G)≤ k if and only if vc(G \V1)≤ k−|V1|.

N. Nisse Graph Theory and applications 19/22

Page 46: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Back to Fractional Relaxation for Vertex CoverLet G = (V ,E) be a graph

Integer Linear programme (ILP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ∈ {0,1} ∀v ∈ V

Fractional relaxation (LP) for Vertex Cover:

Min. ∑v∈V

xv

s.t.: xv + xu ≥ 1 ∀{u,v} ∈ Exv ≥ 0 ∀v ∈ V

Theorem: From Fractional to Integral SolutionLet (xv )v∈V be a fractional optimal solution.V0 = {v ∈ V | xv < 1/2} , V1 = {v ∈ V | xv > 1/2} and V1/2 = {v ∈ V | xv = 1/2}There exists a Minimum (Integral) vertex cover S such that V1 ⊆ S ⊆ V1∪V1/2

Corollary: reduction Rule using LP for Vertex Cover

Let (xv )v∈V be a fractional optimal solution.Then vc(G)≤ k if and only if vc(G \V1)≤ k−|V1|.

N. Nisse Graph Theory and applications 19/22

Page 47: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Linear Kernel for Vertex Cover

Alg4: Linear Kernel for vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |= 0, Return TRUERemove isolated verticesLet (xv )v∈V be an optimal solution obtained by LPIf optimal fractional solution > `, Return FALSEElse let V1 = {v ∈ V | xv > 1/2}.

If V1 6= /0 then Return Alg4(G \V1, `−|V1|).Else Apply Alg2(G, `)

While possible, apply LP and add to the solution the vertices w with xw > 1/2.When it is not possible anymore, then all vertices v are such that xv = 1/2 (check it).Hence |V | ≤ 2k (Linear kernel).Then, apply brute force algorithm (e.g., Alg2) to the remaining “small" graph

N. Nisse Graph Theory and applications 20/22

Page 48: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Linear Kernel for Vertex Cover

Alg4: Linear Kernel for vc(G)≤ kinput: graph G = (V ,E), integer `≤ k .

If |E |= 0, Return TRUERemove isolated verticesLet (xv )v∈V be an optimal solution obtained by LPIf optimal fractional solution > `, Return FALSEElse let V1 = {v ∈ V | xv > 1/2}.

If V1 6= /0 then Return Alg4(G \V1, `−|V1|).Else Apply Alg2(G, `)

While possible, apply LP and add to the solution the vertices w with xw > 1/2.When it is not possible anymore, then all vertices v are such that xv = 1/2 (check it).Hence |V | ≤ 2k (Linear kernel).Then, apply brute force algorithm (e.g., Alg2) to the remaining “small" graph

N. Nisse Graph Theory and applications 20/22

Page 49: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Outline

1 Vertex Cover: from exponential to polynomial

2 Vertex Cover: a first FPT Algorithm

3 Parameterized Complexity

4 Vertex Cover: a first Kernelization Algorithm

5 Kernelization

6 Linear kernel for Vertex Cover via Linear Programming

7 Conclusion

N. Nisse Graph Theory and applications 21/22

Page 50: Graph Theory and Optimization Parameterized …Vertex Cover1st FPTParameterized Complexity1st KernelKernelizationLinear Kernel via LPConclusion Graph Theory and Optimization Parameterized

Vertex Cover 1st FPT Parameterized Complexity 1st Kernel Kernelization Linear Kernel via LP Conclusion

Take Aways

• Parameterized Problem: input (size n) + parameter k

• FPT algorithm: in time f (k)nO(1)

• Kernelization: Data reduction

• Kernelization⇔ FPT

• Linear Kernel for Vertex Cover

N. Nisse Graph Theory and applications 22/22