Deterministic parameterized connected vertex cover Marek Cygan - - PowerPoint PPT Presentation

deterministic parameterized connected vertex cover
SMART_READER_LITE
LIVE PREVIEW

Deterministic parameterized connected vertex cover Marek Cygan - - PowerPoint PPT Presentation

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 Introduction. 1 Our algorithm. 2 Time


slide-1
SLIDE 1

Deterministic parameterized connected vertex cover

Marek Cygan

IDSIA, University of Lugano, Switzerland

July 4, Helsinki, SWAT 2012

Marek Cygan Deterministic parameterized CVC 1/21

slide-2
SLIDE 2

Outline

1

Introduction.

2

Our algorithm.

3

Time complexity analysis.

4

Conclusions.

Marek Cygan Deterministic parameterized CVC 2/21

slide-3
SLIDE 3

Introduction

Marek Cygan Deterministic parameterized CVC 3/21

slide-4
SLIDE 4

Introduction - definitions

Deterministic parameterized connected vertex cover.

Marek Cygan Deterministic parameterized CVC 4/21

slide-5
SLIDE 5

Introduction - definitions

Deterministic parameterized connected vertex cover.

Marek Cygan Deterministic parameterized CVC 5/21

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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) GNW’05 O∗(3.2361k) MRR’06 O∗(2.9316k) FM’06 O∗(2.7606k) MRR’08 O∗(2.4882k) B’10 O∗(2k)(randomized) CNPPRW’11 O∗(2k) this paper

Marek Cygan Deterministic parameterized CVC 7/21

slide-8
SLIDE 8

Algorithm

Marek Cygan Deterministic parameterized CVC 8/21

slide-9
SLIDE 9

Algorithm

CVC is contraction closed, i.e., if (G, k) is a YES-instance than (G ′, k) is a YES-instance. G u v G ′ u v xuv

Marek Cygan Deterministic parameterized CVC 9/21

slide-10
SLIDE 10

Algorithm

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

Marek Cygan Deterministic parameterized CVC 10/21

slide-11
SLIDE 11

Algorithm

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

Marek Cygan Deterministic parameterized CVC 10/21

slide-12
SLIDE 12

Algorithm

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

Marek Cygan Deterministic parameterized CVC 10/21

slide-13
SLIDE 13

Algorithm

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

Marek Cygan Deterministic parameterized CVC 10/21

slide-14
SLIDE 14

Algorithm

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

Marek Cygan Deterministic parameterized CVC 10/21

slide-15
SLIDE 15

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

  • f G of size at most k.

V \ Z (independent) Z (connected) G

Marek Cygan Deterministic parameterized CVC 11/21

slide-16
SLIDE 16

Algorithm

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

Marek Cygan Deterministic parameterized CVC 12/21

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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 = N(Znot) \ Ztake Znot Ztake

Marek Cygan Deterministic parameterized CVC 12/21

slide-19
SLIDE 19

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. Vtake = N(Znot) \ Ztake Znot Ztake

Marek Cygan Deterministic parameterized CVC 12/21

slide-20
SLIDE 20

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. Vtake = N(Znot) \ Ztake Znot Ztake

Marek Cygan Deterministic parameterized CVC 12/21

slide-21
SLIDE 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

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

  • ver subsets).

Marek Cygan Deterministic parameterized CVC 13/21

slide-24
SLIDE 24

Algorithm - example

Z Ztake Vtake

Marek Cygan Deterministic parameterized CVC 14/21

slide-25
SLIDE 25

Complexity analysis

Marek Cygan Deterministic parameterized CVC 15/21

slide-26
SLIDE 26

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

slide-27
SLIDE 27

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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

Complexity analysis

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

Marek Cygan Deterministic parameterized CVC 17/21

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

Conclusions

Marek Cygan Deterministic parameterized CVC 19/21

slide-39
SLIDE 39

Conclusions and open problems

1

We have shown how to solve CVC deterministically in O∗(2k) time.

2

Our algorithm can be extended to weighted and counting variants.

3

By recent work [CDLMNOPSW’12], one can not solve the counting variant in 0∗((2 − ε)k) unless SETH fails.

4

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

slide-40
SLIDE 40

Questions?

Thank you!

Marek Cygan Deterministic parameterized CVC 21/21