Deterministic parameterized connected vertex cover

Deterministic parameterized connected vertex cover Marek Cygan IDSIA, University of Lugano, Switzerland July 4, Helsinki, SWAT 2012 Marek Cygan Det...
Author: Janis Dixon
3 downloads 0 Views 187KB Size
Deterministic parameterized connected vertex cover Marek Cygan IDSIA, University of Lugano, Switzerland

July 4, Helsinki, SWAT 2012

Marek Cygan

Deterministic parameterized CVC

1/21

Outline

1 2 3 4

Introduction. Our algorithm. Time complexity analysis. Conclusions.

Marek Cygan

Deterministic parameterized CVC

2/21

Introduction

Marek Cygan

Deterministic parameterized CVC

3/21

Introduction - definitions Deterministic parameterized connected vertex cover.

Marek Cygan

Deterministic parameterized CVC

4/21

Introduction - definitions Deterministic parameterized connected vertex cover.

Marek Cygan

Deterministic parameterized CVC

5/21

Introduction - definitions Deterministic parameterized connected vertex cover. A parameterized problem instance comes with an additional integer (G , k). A problem is FPT if it admits an algorithm with f (k)poly(n) running time. Goal: for problems known to be FPT design the fastest algorithm possible. We are interested in the best possible function f and as O ∗ (f (k)) denote O(f (k)poly(n)).

Marek Cygan

Deterministic parameterized CVC

6/21

Introduction - history CVC problem def. Given an undirected graph G = (V , E ) and an integer k, decide whether there exists a connected vertex cover of G of cardinality at most k? O ∗ (6k ) O ∗ (3.2361k ) O ∗ (2.9316k ) O ∗ (2.7606k ) O ∗ (2.4882k ) O ∗ (2k )(randomized) O ∗ (2k ) Marek Cygan

GNW’05 MRR’06 FM’06 MRR’08 B’10 CNPPRW’11 this paper

Deterministic parameterized CVC

7/21

Algorithm

Marek Cygan

Deterministic parameterized CVC

8/21

Algorithm

CVC is contraction closed, i.e., if (G , k) is a YES-instance than (G 0 , k) is a YES-instance.

G0

G u

xuv

v

Marek Cygan

Deterministic parameterized CVC

9/21

Algorithm We use the iterative compression technique. Consider any edge uv of G .

Marek Cygan

Deterministic parameterized CVC

10/21

Algorithm We use the iterative compression technique. Consider any edge uv of G . Solve the problem for G 0 with u and v identified into x.

Marek Cygan

Deterministic parameterized CVC

10/21

Algorithm We use the iterative compression technique. Consider any edge uv of G . Solve the problem for G 0 with u and v identified into x. If (G 0 , k) is NO-instance, return NO.

Marek Cygan

Deterministic parameterized CVC

10/21

Algorithm We use the iterative compression technique. Consider any edge uv of G . Solve the problem for G 0 with u and v identified into x. If (G 0 , k) is NO-instance, return NO. If X 0 is cvc of G 0 , then Z := (X 0 \ {x}) ∪ {u, v } is cvc of G .

Marek Cygan

Deterministic parameterized CVC

10/21

Algorithm We use the iterative compression technique. Consider any edge uv of G . Solve the problem for G 0 with u and v identified into x. If (G 0 , k) is NO-instance, return NO. If X 0 is cvc of G 0 , then Z := (X 0 \ {x}) ∪ {u, v } is cvc of G . Use Z to exploit the structure of G . Z (connected)

G

V \ Z (independent)

Marek Cygan

Deterministic parameterized CVC

10/21

Algorithm By a factor n (can be reduced to 2k), it is enough to solve: Compression CVC Given G = (V , E ), k and a cvc Z ⊆ V of size at most k + 2 find cvc of G of size at most k.

Z (connected)

G

V \ Z (independent)

Marek Cygan

Deterministic parameterized CVC

11/21

Algorithm Guess (by trying 2|Z | possibilities) subset of Z used by solution.

Marek Cygan

Deterministic parameterized CVC

12/21

Algorithm Guess (by trying 2|Z | possibilities) subset of Z used by solution. Z = Znot ∪ Ztake , where Znot is independent.

Marek Cygan

Deterministic parameterized CVC

12/21

Algorithm Guess (by trying 2|Z | possibilities) subset of Z used by solution. Z = Znot ∪ Ztake , where Znot is independent. Define Vtake as vertices of V \ Z with ­ 1 neighbour in Znot .

Znot

Ztake

Vtake = N(Znot ) \ Ztake Marek Cygan

Deterministic parameterized CVC

12/21

Algorithm Guess (by trying 2|Z | possibilities) subset of Z used by solution. Z = Znot ∪ Ztake , where Znot is independent. Define Vtake as vertices of V \ Z with ­ 1 neighbour in Znot . Vtake ∪ Ztake form a vc of G .

Znot

Ztake

Vtake = N(Znot ) \ Ztake Marek Cygan

Deterministic parameterized CVC

12/21

Algorithm Guess (by trying 2|Z | possibilities) subset of Z used by solution. Z = Znot ∪ Ztake , where Znot is independent. Define Vtake as vertices of V \ Z with ­ 1 neighbour in Znot . Vtake ∪ Ztake form a vc of G . If a vertex of Vtake has no neighbor in Ztake , then terminate the branch. Znot

Ztake

Vtake = N(Znot ) \ Ztake Marek Cygan

Deterministic parameterized CVC

12/21

Algorithm

Since X0 := Vtake ∪ Ztake is already a vc of G it remains to find the smallest cardinality set X1 ⊆ Vmaybe := V \ (Z ∪ Vtake ), such that G [X0 ∪ X1 ] is connected.

Marek Cygan

Deterministic parameterized CVC

13/21

Algorithm

Since X0 := Vtake ∪ Ztake is already a vc of G it remains to find the smallest cardinality set X1 ⊆ Vmaybe := V \ (Z ∪ Vtake ), such that G [X0 ∪ X1 ] is connected. This is a Steiner tree problem, where as terminals we take contracted connected components of G [X0 ].

Marek Cygan

Deterministic parameterized CVC

13/21

Algorithm

Since X0 := Vtake ∪ Ztake is already a vc of G it remains to find the smallest cardinality set X1 ⊆ Vmaybe := V \ (Z ∪ Vtake ), such that G [X0 ∪ X1 ] is connected. This is a Steiner tree problem, where as terminals we take contracted connected components of G [X0 ]. Therefore we can find X1 in O ∗ (2cc(G [X0 ]) ) time by using algorithm of Nederlof for Steiner tree (or dynamic programming over subsets).

Marek Cygan

Deterministic parameterized CVC

13/21

Algorithm - example

Ztake Z

Vtake

Marek Cygan

Deterministic parameterized CVC

14/21

Complexity analysis

Marek Cygan

Deterministic parameterized CVC

15/21

Complexity analysis For each subset Ztake ⊆ Z such that Z \ Ztake is independent we have O ∗ (2z ) running time, where z = cc(G [Ztake ]).

Marek Cygan

Deterministic parameterized CVC

16/21

Complexity analysis For each subset Ztake ⊆ Z such that Z \ Ztake is independent we have O ∗ (2z ) running time, where z = cc(G [Ztake ]). The running time can be upper bounded by the cardinality of P := {(Ztake , C) : Ztake is vc of G[Z], C ⊆ CC(G [Ztake ])}

Marek Cygan

Deterministic parameterized CVC

16/21

Complexity analysis For each subset Ztake ⊆ Z such that Z \ Ztake is independent we have O ∗ (2z ) running time, where z = cc(G [Ztake ]). The running time can be upper bounded by the cardinality of P := {(Ztake , C) : Ztake is vc of G[Z], C ⊆ CC(G [Ztake ])} It is easy to show 3|Z | upper bound, since each vertex of Z can be (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C.

Marek Cygan

Deterministic parameterized CVC

16/21

Complexity analysis For each subset Ztake ⊆ Z such that Z \ Ztake is independent we have O ∗ (2z ) running time, where z = cc(G [Ztake ]). The running time can be upper bounded by the cardinality of P := {(Ztake , C) : Ztake is vc of G[Z], C ⊆ CC(G [Ztake ])} It is easy to show 3|Z | upper bound, since each vertex of Z can be (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C. Observe that knowing the type of each vertex of Z gives us at most one corresponding pair of P.

Marek Cygan

Deterministic parameterized CVC

16/21

Complexity analysis

We want to show 3 · 2|Z |−1 upper bound on |P|.

Marek Cygan

Deterministic parameterized CVC

17/21

Complexity analysis

We want to show 3 · 2|Z |−1 upper bound on |P|. Consider any spanning tree T of G [Z ] and root it in an arbitrary vertex.

Marek Cygan

Deterministic parameterized CVC

17/21

Complexity analysis For the root we have three choices, as previously: (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C.

Marek Cygan

Deterministic parameterized CVC

18/21

Complexity analysis For the root we have three choices, as previously: (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C. Consider any non-root node v of T and let p be its parent.

Marek Cygan

Deterministic parameterized CVC

18/21

Complexity analysis For the root we have three choices, as previously: (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C. Consider any non-root node v of T and let p be its parent. If p is (i), then v cannot be (i), because Ztake is vc in G [Z ].

Marek Cygan

Deterministic parameterized CVC

18/21

Complexity analysis For the root we have three choices, as previously: (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C. Consider any non-root node v of T and let p be its parent. If p is (i), then v cannot be (i), because Ztake is vc in G [Z ]. If p is (ii), then v cannot be (iii), as they cannot be in two different components of C.

Marek Cygan

Deterministic parameterized CVC

18/21

Complexity analysis For the root we have three choices, as previously: (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C. Consider any non-root node v of T and let p be its parent. If p is (i), then v cannot be (i), because Ztake is vc in G [Z ]. If p is (ii), then v cannot be (iii), as they cannot be in two different components of C. Similarly if p is (iii), then v cannot be (ii).

Marek Cygan

Deterministic parameterized CVC

18/21

Complexity analysis For the root we have three choices, as previously: (i) not taken to Ztake , (ii) taken and its cc belongs to C, (iii) taken and its cc does not belong to C. Consider any non-root node v of T and let p be its parent. If p is (i), then v cannot be (i), because Ztake is vc in G [Z ]. If p is (ii), then v cannot be (iii), as they cannot be in two different components of C. Similarly if p is (iii), then v cannot be (ii). This gives 3 · 2|Z |−1 upper bound on |P| and since |Z | ¬ k + 2 we have O ∗ (2k ) algorithm for CVC.

Marek Cygan

Deterministic parameterized CVC

18/21

Conclusions

Marek Cygan

Deterministic parameterized CVC

19/21

Conclusions and open problems

1

2

3

4

We have shown how to solve CVC deterministically in O ∗ (2k ) time. Our algorithm can be extended to weighted and counting variants. By recent work [CDLMNOPSW’12], one can not solve the counting variant in 0∗ ((2 − ε)k ) unless SETH fails. Open problem: is it possible to show that there is no 0∗ ((2 − ε)k ) algorithm for the decision version unless SETH fails?

Marek Cygan

Deterministic parameterized CVC

20/21

Questions?

Thank you!

Marek Cygan

Deterministic parameterized CVC

21/21