A single exponential FPT algorithm for the K 4 -minor cover problem - - PowerPoint PPT Presentation

a single exponential fpt algorithm for the k 4 minor
SMART_READER_LITE
LIVE PREVIEW

A single exponential FPT algorithm for the K 4 -minor cover problem - - PowerPoint PPT Presentation

A single exponential FPT algorithm for the K 4 -minor cover problem Eunjung Kim CNRS - LAMSADE, Paris, France Joint work with Christophe Paul (cnrs - lirmm, france Geevarghese Philip (mpi, germany) July 4, 2012 Parameterized K 4 -Minor Cover


slide-1
SLIDE 1

A single exponential FPT algorithm for the K4-minor cover problem

Eunjung Kim

CNRS - LAMSADE, Paris, France

Joint work with Christophe Paul (cnrs - lirmm, france Geevarghese Philip (mpi, germany) July 4, 2012

slide-2
SLIDE 2

Parameterized K4-Minor Cover Given a graph G = (V , E) and an integer k as parameter,

◮ at most k vertices S ⊆ V s.t G[V \ S] is K4-minor free ?

slide-3
SLIDE 3

Parameterized K4-Minor Cover (a.k.a. Parameterized Treewidth-two Vertex Deletion) Given a graph G = (V , E) and an integer k as parameter,

◮ at most k vertices S ⊆ V s.t G[V \ S] is K4-minor free ? ◮ at most k vertices S ⊆ V s.t tw(G[V \ S]) 2 ?

slide-4
SLIDE 4

Parameterized K4-Minor Cover (a.k.a. Parameterized Treewidth-two Vertex Deletion) Given a graph G = (V , E) and an integer k as parameter,

◮ at most k vertices S ⊆ V s.t G[V \ S] is K4-minor free ? ◮ at most k vertices S ⊆ V s.t tw(G[V \ S]) 2 ?

Observations :

  • 1. Vertex Cover ≡ K2-Minor Cover

≡ Treewidth-zero Vertex Deletion

  • 2. Feedback Vertex Set

≡ K3-Minor Cover ≡ Treewidth-one Vertex Deletion More generally, How fast can we solve Treewidth-t Vertex Deletion ?

slide-5
SLIDE 5

Known results (*when we submitted)

  • 1. Parameterized K4-Minor Cover is FPT

(by the Roberston and Seymour’ graph minor theorem or by Courcelle’s theorem)

  • 2. Best algorithm runs in 2O(k log k) · nO(1) [Fomin et al.’11]
  • 3. 2O(k) · nO(1)-algorithm when for t = 0, 1.
  • 4. No hope for a 2o(k).nO(1) algorithm [Chen et al.’05]
slide-6
SLIDE 6

Known results (*when we submitted)

  • 1. Parameterized K4-Minor Cover is FPT

(by the Roberston and Seymour’ graph minor theorem or by Courcelle’s theorem)

  • 2. Best algorithm runs in 2O(k log k) · nO(1) [Fomin et al.’11]
  • 3. 2O(k) · nO(1)-algorithm when for t = 0, 1.
  • 4. No hope for a 2o(k).nO(1) algorithm [Chen et al.’05]

Our result There exists an algorithm that solves the Parameterized K4-Minor Cover problem in time 2O(k) · nO(1).

slide-7
SLIDE 7

Known results (*when we submitted)

  • 1. Parameterized K4-Minor Cover is FPT

(by the Roberston and Seymour’ graph minor theorem or by Courcelle’s theorem)

  • 2. Best algorithm runs in 2O(k log k) · nO(1) [Fomin et al.’11]
  • 3. 2O(k) · nO(1)-algorithm when for t = 0, 1.
  • 4. No hope for a 2o(k).nO(1) algorithm [Chen et al.’05]

Our result There exists an algorithm that solves the Parameterized K4-Minor Cover problem in time 2O(k) · nO(1). Known results (*now, a few months later...)

  • 1. Treewidth-t Vertex Deletion in 2O(k) · n log n2 [Fomin

et al.’12], in 2O(k) · n2 [Kim et al.’12]

  • 2. Polynomial kernel [Fomin et al.’12]
slide-8
SLIDE 8

Iterative compression allows us to focus on Disjoint-K4-Minor Cover

◮ Given G = (V , E), a K4-Minor Cover S of size k + 1 ◮ Compute (if it exists) a K4-Minor Cover S′ of size k such

that S ∩ S′ = ∅

slide-9
SLIDE 9

Iterative compression allows us to focus on Disjoint-K4-Minor Cover

◮ Given G = (V , E), a K4-Minor Cover S of size k + 1 ◮ Compute (if it exists) a K4-Minor Cover S′ of size k such

that S ∩ S′ = ∅ Folklore: If Disjoint-K4-Minor Cover is single-exponential, Parameterized K4-Minor Cover is single-exponential.

slide-10
SLIDE 10

Iterative compression allows us to focus on Disjoint-K4-Minor Cover

◮ Given G = (V , E), a K4-Minor Cover S of size k + 1 ◮ Compute (if it exists) a K4-Minor Cover S′ of size k such

that S ∩ S′ = ∅ Folklore: If Disjoint-K4-Minor Cover is single-exponential, Parameterized K4-Minor Cover is single-exponential. From the additional S, we can retrieve rich structural information.

slide-11
SLIDE 11

Iterative compression allows us to focus on Disjoint-K4-Minor Cover

◮ Given G = (V , E), a K4-Minor Cover S of size k + 1 ◮ Compute (if it exists) a K4-Minor Cover S′ of size k such

that S ∩ S′ = ∅ Folklore: If Disjoint-K4-Minor Cover is single-exponential, Parameterized K4-Minor Cover is single-exponential. From the additional S, we can retrieve rich structural information. Our algorithm for Disjoint-K4-Minor Cover can be viewed as a generalization of [Chen et al.08] for Disjoint-FVS.

slide-12
SLIDE 12

Introduction Disjoint-FVS: intuition Disjoint-K4-Minor Cover Branching Rules SP-decomposition Reduction Rules Algorithm for the Disjoint-K4-Minor Cover

slide-13
SLIDE 13

Disjoint-Feedback Vertex Set (Disjoint-FVS)

◮ Given G = (V , E), a feedback vertex set S of size k + 1 ◮ Compute (if it exists) a feedback vertex set S′ size k such

that S ∩ S′ = ∅.

slide-14
SLIDE 14

Disjoint-Feedback Vertex Set (Disjoint-FVS)

◮ Given G = (V , E), a feedback vertex set S of size k + 1 ◮ Compute (if it exists) a feedback vertex set S′ size k such

that S ∩ S′ = ∅. [Chen et al.08] We use

◮ branching and reduction rules ◮ a measure function to analyze the time complexity

µ = k + #cc(G[S])

Skip example

slide-15
SLIDE 15
slide-16
SLIDE 16
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
slide-17
SLIDE 17
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
slide-18
SLIDE 18
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
slide-19
SLIDE 19
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
slide-20
SLIDE 20
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1

slide-21
SLIDE 21
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1

slide-22
SLIDE 22
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1

slide-23
SLIDE 23
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1

slide-24
SLIDE 24
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1 Branching Rule: If x ∈ V \ S has two neighbours in two different connected components of G[S], then branch on

◮ (G − {x}, S, k − 1)

⇒ µ decreases

slide-25
SLIDE 25
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1 Branching Rule: If x ∈ V \ S has two neighbours in two different connected components of G[S], then branch on

◮ (G − {x}, S, k − 1)

⇒ µ decreases

slide-26
SLIDE 26
  • Red. Rule 1: Remove leaf x ∈ V \ S if N(x) ∩ S = ∅
  • Red. Rule 2: Bypass leaf x ∈ V \ S if d(x) = 2, |N(x) ∩ S| = 1
  • Red. Rule 3: Remove every vertex x ∈ V \ S with at least 2

neighbours in some connect. comp. C of G[S] and decrease k by 1 Branching Rule: If x ∈ V \ S has two neighbours in two different connected components of G[S], then branch on

◮ (G − {x}, S, k − 1)

⇒ µ decreases

◮ (G, S ∪ {x}, k)

⇒ µ decreases

slide-27
SLIDE 27

Ingredients of [Chen et al.08]

◮ Branching rules AND appropriate measure function µ. ◮ Reduction rules to bound the branching degree. ◮ An appropriate tree-like structure to process G − S. ◮ In the search tree, leaf instances are not hard.

slide-28
SLIDE 28

Ingredients of [Chen et al.08]

◮ Branching rules AND appropriate measure function µ. ◮ Reduction rules to bound the branching degree. ◮ An appropriate tree-like structure to process G − S. ◮ In the search tree, leaf instances are not hard.

For the Disjoint-K4-Minor Cover we have

◮ adapted the branching rules and introduce a new measure µ ◮ adapted the reduction rules (extended bypassing + chandelier

+ trivial)

◮ extended SP-decomposition for treewidth-2 graphs. ◮ in the search tree, a leaf instance is Vertex Cover on circle

graphs (polytime).

slide-29
SLIDE 29

Branching Rules (1) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 1: If X ⊆ V \ S is a set such that G[S ∪ X] contains a K4-subdivision, then

slide-30
SLIDE 30

Branching Rules (1) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 1: If X ⊆ V \ S is a set such that G[S ∪ X] contains a K4-subdivision, then

◮ we must delete one of X.

slide-31
SLIDE 31

Branching Rules (2)

slide-32
SLIDE 32

Branching Rules (2) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 2: If X ⊆ V \ S is an s1, s2-path and {s1, s2} ⊆ NS(X) with ccS(s1) = ccS(s2), then,

slide-33
SLIDE 33

Branching Rules (2) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 2: If X ⊆ V \ S is an s1, s2-path and {s1, s2} ⊆ NS(X) with ccS(s1) = ccS(s2), then,

◮ either we delete one of X ◮ or X is added to S (no vertex deleted)

slide-34
SLIDE 34

Branching Rules (3) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 3: If X ⊆ V \ S is an s1, s2-path and {s1, s2} ⊆ NS(X) with ccS(s1) = ccS(s2) and bcS(s1) = bcS(s2), then,

◮ either we delete one of X ◮ or X is added to S (no vertex deleted)

slide-35
SLIDE 35

Branching Rules (3) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 3: If X ⊆ V \ S is an s1, s2-path and {s1, s2} ⊆ NS(X) with ccS(s1) = ccS(s2) and bcS(s1) = bcS(s2), then,

◮ either we delete one of X ◮ or X is added to S (no vertex deleted)

Claim: µ = c1 × k + c1 × #cc(G[S]) + #bc(G[S]) is decreasing

slide-36
SLIDE 36

Branching Rules (3) Let (G, S, k) be an instance of Disjoint-K4-Minor Cover. Branching Rule 3: If X ⊆ V \ S is an s1, s2-path and {s1, s2} ⊆ NS(X) with ccS(s1) = ccS(s2) and bcS(s1) = bcS(s2), then,

◮ either we delete one of X ◮ or X is added to S (no vertex deleted)

Claim: µ = c1 × k + c1 × #cc(G[S]) + #bc(G[S]) is decreasing

◮ c1 depends on the maximum size of the sets X on which the

branching rules is applied

slide-37
SLIDE 37

Suppose the branching rules have been exhaustively applied to all connected component (no matter how large |X| might be).

slide-38
SLIDE 38

Suppose the branching rules have been exhaustively applied to all connected component (no matter how large |X| might be). Then the current instance has a nice structure.

slide-39
SLIDE 39

Suppose the branching rules have been exhaustively applied to all connected component (no matter how large |X| might be). Then the current instance has a nice structure. independent instance can be solved in poly-time

slide-40
SLIDE 40

How to bound the size of X to branch on? First, we develop a notion of tree-like structure for K4-minor-free graphs.

slide-41
SLIDE 41

How to bound the size of X to branch on? First, we develop a notion of tree-like structure for K4-minor-free graphs. Use the fact: A graph is K4-minor free iff its biconnected components are series-parallel graphs

slide-42
SLIDE 42

How to bound the size of X to branch on? First, we develop a notion of tree-like structure for K4-minor-free graphs. Use the fact: A graph is K4-minor free iff its biconnected components are series-parallel graphs extended-SP decomposition

s t a b e d c

slide-43
SLIDE 43

How to bound the size of X to branch on? First, we develop a notion of tree-like structure for K4-minor-free graphs. Use the fact: A graph is K4-minor free iff its biconnected components are series-parallel graphs extended-SP decomposition = block tree

s t a b e d c

slide-44
SLIDE 44

How to bound the size of X to branch on? First, we develop a notion of tree-like structure for K4-minor-free graphs. Use the fact: A graph is K4-minor free iff its biconnected components are series-parallel graphs extended-SP decomposition = block tree + SP-tree on every block

(s,t) // {s,t} S {s,t} // {c,t} // {a,c} (s,a) (b,c) (e,t) (d,t) (c,d) (c,e) S {c,t} S {c,t} (c,t) // {c,t} (a,c) (a,b) S {a,c} s t a b e d c

slide-45
SLIDE 45

Reduction Rules: trivial Reduction rule: Components NOT participating any K4-subdivision is removed.

slide-46
SLIDE 46

Reduction Rules: trivial Reduction rule: Components NOT participating any K4-subdivision is removed.

slide-47
SLIDE 47

Reduction Rules: trivial Reduction rule: Components NOT participating any K4-subdivision is removed. Reduction rule: Bypass degree-2 vertices and remove multiple edges.

slide-48
SLIDE 48

Reduction Rules: Chandelier

slide-49
SLIDE 49

Reduction Rules: Chandelier

slide-50
SLIDE 50

Reduction Rules: Chandelier Reduction Rules: extended bypass-1

slide-51
SLIDE 51

Reduction Rules: Chandelier Reduction Rules: extended bypass-1

when connected X s.t. X ∩ S = ∅ has a separator of size 2

slide-52
SLIDE 52

Reduction Rules: extended bypass-2 Let (G, S, k) be an instance of Disjoint-K4-Minor Cover Disjoint Protrusion Rule: Let X be a t-protrusion of G such that X ∩ S = ∅ and |X| > γ(t)

X S

Then,

slide-53
SLIDE 53

Reduction Rules: extended bypass-2 Let (G, S, k) be an instance of Disjoint-K4-Minor Cover Disjoint Protrusion Rule: Let X be a t-protrusion of G such that X ∩ S = ∅ and |X| > γ(t)

X X’ S

Then, replace X with a t-protrusion X ′ of smaller size.

slide-54
SLIDE 54

Introduction Disjoint-FVS: intuition Disjoint-K4-Minor Cover Branching Rules SP-decomposition Reduction Rules Algorithm for the Disjoint-K4-Minor Cover

slide-55
SLIDE 55

Algorithm outline

  • 1. Apply reduction rules and branching rules on every set {x}

(with x ∈ V \ S)

slide-56
SLIDE 56

Algorithm outline

  • 1. Apply reduction rules and branching rules on every set {x}

(with x ∈ V \ S) Lemma: |N(v) ∩ S| ≤ 2 for all v ∈ V − S.

slide-57
SLIDE 57

Algorithm outline

  • 1. Apply reduction rules and branching rules on every set {x}

(with x ∈ V \ S) Lemma: |N(v) ∩ S| ≤ 2 for all v ∈ V − S.

  • 2. Use the extended-SP decomposition to apply the branching

rules and reduction rules in a bottom-up manner.

slide-58
SLIDE 58

Algorithm outline

  • 1. Apply reduction rules and branching rules on every set {x}

(with x ∈ V \ S) Lemma: |N(v) ∩ S| ≤ 2 for all v ∈ V − S.

  • 2. Use the extended-SP decomposition to apply the branching

rules and reduction rules in a bottom-up manner. Branch-or-Reduce Lemma: Either one of the branching rules apply on |X| ≤ c1, or extended bypassing rules apply. Otherwise you’re at a leaf instance.

slide-59
SLIDE 59

Algorithm outline

  • 1. Apply reduction rules and branching rules on every set {x}

(with x ∈ V \ S) Lemma: |N(v) ∩ S| ≤ 2 for all v ∈ V − S.

  • 2. Use the extended-SP decomposition to apply the branching

rules and reduction rules in a bottom-up manner. Branch-or-Reduce Lemma: Either one of the branching rules apply on |X| ≤ c1, or extended bypassing rules apply. Otherwise you’re at a leaf instance.

  • 3. Solve each independent instance in polytime
slide-60
SLIDE 60

Conclusion Theorem: There exists a single-exponential FPT-time algorithm for the K4-Minor Cover problem.

slide-61
SLIDE 61

Conclusion Theorem: There exists a single-exponential FPT-time algorithm for the K4-Minor Cover problem. Open question:

  • 1. Due to recent developement, we have 2O(k) · nO(1)-time

algorithm for F-minor cover problem, for any finite collection F containing at least one planar graph.

slide-62
SLIDE 62

Conclusion Theorem: There exists a single-exponential FPT-time algorithm for the K4-Minor Cover problem. Open question:

  • 1. Due to recent developement, we have 2O(k) · nO(1)-time

algorithm for F-minor cover problem, for any finite collection F containing at least one planar graph.

  • 2. How about F = {K5} or F = {K5, K3,3}? Current best is

double-exponential i.e. 22O(k).

slide-63
SLIDE 63

Conclusion Theorem: There exists a single-exponential FPT-time algorithm for the K4-Minor Cover problem. Open question:

  • 1. Due to recent developement, we have 2O(k) · nO(1)-time

algorithm for F-minor cover problem, for any finite collection F containing at least one planar graph.

  • 2. How about F = {K5} or F = {K5, K3,3}? Current best is

double-exponential i.e. 22O(k).

Thank you