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