Connected treewidth and connected cops-and-robber game - - PowerPoint PPT Presentation

connected treewidth and connected cops and robber game
SMART_READER_LITE
LIVE PREVIEW

Connected treewidth and connected cops-and-robber game - - PowerPoint PPT Presentation

Connected treewidth and connected cops-and-robber game Obstructions and algorithms Christophe PAUL (CNRS Univ. Montpellier, LIRMM, France) Joint work with I. Adler (University of Leeds, UK) G. Mescoff (ENS Rennes, France) D. Thilikos


slide-1
SLIDE 1

Connected treewidth and connected cops-and-robber game –

Obstructions and algorithms

Christophe PAUL

(CNRS – Univ. Montpellier, LIRMM, France) Joint work with I. Adler (University of Leeds, UK)

  • G. Mescoff (ENS Rennes, France)
  • D. Thilikos (CNRS – Univ. Montpellier, LIRMM, France)

CAALM Workshop, Chennai, January 25, 2019

slide-2
SLIDE 2

A node search strategy

A search strategy is defined by a sequence of moves, each of these

◮ either add a searcher

a b c d e f g

slide-3
SLIDE 3

A node search strategy

A search strategy is defined by a sequence of moves, each of these

◮ either add a searcher

a b c d e f g

{a}, . . .

slide-4
SLIDE 4

A node search strategy

A search strategy is defined by a sequence of moves, each of these

◮ either add a searcher

a b c d e f g

{a}, {a, b}, . . .

slide-5
SLIDE 5

A node search strategy

A search strategy is defined by a sequence of moves, each of these

◮ either add a searcher ◮ or remove a searcher

a b c d e f g

{a}, {a, b}, {b}, . . . More formally, we define S = S1, . . . Sr such that

◮ for all i ∈ [r], Si ⊆ V (G);

(set of occupied positions)

◮ |S1| = 1; ◮ for all i ∈ [r − 1], |Si △ Si−1| = 1.

slide-6
SLIDE 6

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-7
SLIDE 7

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-8
SLIDE 8

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-9
SLIDE 9

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-10
SLIDE 10

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-11
SLIDE 11

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-12
SLIDE 12

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-13
SLIDE 13

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-14
SLIDE 14

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber ???

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-15
SLIDE 15

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-16
SLIDE 16

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-17
SLIDE 17

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-18
SLIDE 18

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮

Lazy robber Agile robber

We define the set of free locations in the case of a lazy robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi ∩ (Si \ Si−1)}

slide-19
SLIDE 19

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮ agile : he can move (if possible) at any time

Lazy robber Agile robber ???

We define the set of free locations in the case of a agile robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi}

slide-20
SLIDE 20

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮ agile : he can move (if possible) at any time

Lazy robber Agile robber

We define the set of free locations in the case of a agile robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi}

slide-21
SLIDE 21

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮ agile : he can move (if possible) at any time

Lazy robber Agile robber

We define the set of free locations in the case of a agile robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi}

slide-22
SLIDE 22

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮ agile : he can move (if possible) at any time

Lazy robber Agile robber

We define the set of free locations in the case of a agile robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi}

slide-23
SLIDE 23

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮ agile : he can move (if possible) at any time

Lazy robber Agile robber

We define the set of free locations in the case of a agile robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi}

slide-24
SLIDE 24

Node search against. . .

. . . an invisible robber, that can be

◮ lazy : he escapes (if possible) if a searcher is landing at his position ◮ agile : he can move (if possible) at any time

Lazy robber Agile robber

We define the set of free locations in the case of a agile robber :

◮ F1 = V (G) \ S1 ◮ for all i 2, Fi = (Fi−1 \ Si) ∪ {v ∈ ccG−Si(u) | u ∈ Fi}

slide-25
SLIDE 25

Properties and cost of a node search strategy

A node search strategy S = S1, . . . Sr is

◮ complete if Fr = ∅; ◮ monotone if for every i ∈ [r − 1], Fi+1 ⊂ Fi.

(there is no recontamination of a vertex)

slide-26
SLIDE 26

Properties and cost of a node search strategy

A node search strategy S = S1, . . . Sr is

◮ complete if Fr = ∅; ◮ monotone if for every i ∈ [r − 1], Fi+1 ⊂ Fi.

(there is no recontamination of a vertex) We define ans(G) = min{cost(S) | S is a complete strategy against an agile robber} mans(G) = min{cost(S) | S is a complete monotone . . . agile robber} lns(G) = min{cost(S) | S is a complete strategy against a lazy robber} mlns(G) = min{cost(S) | S is a complete monotone . . . lazy robber}

slide-27
SLIDE 27

Known relationship between parameters

Theorem.

◮ treewidth corresponds to lazy strategies

[DKT97] tw(G) = tvs(G) = mlns(G) − 1 = lns(G) − 1 σ i S(t)

σ (i) = {x ∈ V | σ(x) < i ∧ ∃(x, σi)-path with internal vertices in σ>i}

slide-28
SLIDE 28

Known relationship between parameters

Theorem.

◮ treewidth corresponds to lazy strategies

[DKT97] tw(G) = tvs(G) = mlns(G) − 1 = lns(G) − 1 σ i S(t)

σ (i) = {x ∈ V | σ(x) < i ∧ ∃(x, σi)-path with internal vertices in σ>i}

tvs(G) = minσ maxi∈[n] |S(t)

σ (i)|

slide-29
SLIDE 29

Known relationship between parameters

Theorem.

◮ treewidth corresponds to lazy strategies

[DKT97] tw(G) = tvs(G) = mlns(G) − 1 = lns(G) − 1

◮ pathwidth corresponds to agile strategies

[Kin92, KP95] pw(G) = pvs(G) = mans(G) − 1 = ans(G) − 1 σ i S(p)

σ (i) = NG(σi)

pvs(G) = minσ maxi∈[n] |S(p)

σ (i)|

slide-30
SLIDE 30

What about connected node search strategy ?

Hints : force to search the graph in a connected manner the guarded space Gi = Fi has to be connected

a b c d e f

slide-31
SLIDE 31

What about connected node search strategy ?

Hints : force to search the graph in a connected manner the guarded space Gi = Fi has to be connected

a b c d e f

slide-32
SLIDE 32

What about connected node search strategy ?

Hints : force to search the graph in a connected manner the guarded space Gi = Fi has to be connected

a b c d e f

This is not a connected search ! A node search strategy S = S1, . . . Sr is

◮ connected if for every i ∈ [r], Gi is connected.

slide-33
SLIDE 33

What about connected node search strategy ?

Hints : force to search the graph in a connected manner the guarded space Gi = Fi has to be connected

a b c d e f

This is not a connected search ! A node search strategy S = S1, . . . Sr is

◮ connected if for every i ∈ [r], Gi is connected.

Why connected search ?

◮ from the theoretical view point very natural constraint ◮ from the application view point:

◮ cave exploration ◮ maintenance of communications between searcher ◮ . . .

slide-34
SLIDE 34

What about connected node search strategy ? Questions

◮ What is the price of connectivity ? ◮ Can the mclns(.) parameter be expressed in terms of a layout

parameter or a width parameter ?

◮ Can we characterize the set of graphs such that mclns(G) k ? ◮ What is the complexity of deciding whether mclns(G) k?

slide-35
SLIDE 35

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos (grasta’17)] ctw(G) = ctvs(G) = mclns(G) − 1

slide-36
SLIDE 36

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos (grasta’17)] ctw(G) = ctvs(G) = mclns(G) − 1

r v

In a connected tree decomposition (T, F), there exists a root r such that for every node v, G[∪{Xu | u ∈ rTv}] is connected In a connected path decomposition, r is an extremity of the path:

r v

slide-37
SLIDE 37

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos (grasta’17)] ctw(G) = ctvs(G) = mclns(G) − 1 Connected layout : for every i, there exists j < i such that σj ∈ N(σi) σ i j

slide-38
SLIDE 38

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos (grasta’17)] ctw(G) = ctvs(G) = mclns(G) − 1 Connected layout : for every i, there exists j < i such that σj ∈ N(σi) σ i j ctvs(G) = minσ maxi∈[n] |S(t)

σ (i)|, with σ a connected layout

σ i

S(t)

σ (i) = {x ∈ V | σ(x) < i ∧ ∃(x, σi)-path with internal vertices in σ>i}

slide-39
SLIDE 39

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos, grasta’17] ctw(G) = ctvs(G) = mclns(G) − 1 Sketch of proof: ◮ ctvs(G) mclns(G) − 1: search strategy S = S1, . . . Sr layout σ σ = vertices ordered by the first date they are occupied by a cops.

slide-40
SLIDE 40

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos, grasta’17] ctw(G) = ctvs(G) = mclns(G) − 1 Sketch of proof: ◮ ctvs(G) mclns(G) − 1: search strategy S = S1, . . . Sr layout σ σ = vertices ordered by the first date they are occupied by a cops. ◮ ctw(G) ctvs(G): connected layout σ tree-decomposition (T, F) F =

  • S(t)

σ (i) ∪ {σi} | i ∈ [n]

  • σ

i

slide-41
SLIDE 41

Results (1) – Parameter equivalence

Theorem 1 [Adler, P., Thilikos, grasta’17] ctw(G) = ctvs(G) = mclns(G) − 1 Sketch of proof: ◮ ctvs(G) mclns(G) − 1: search strategy S = S1, . . . Sr layout σ σ = vertices ordered by the first date they are occupied by a cops. ◮ ctw(G) ctvs(G): connected layout σ tree-decomposition (T, F) F =

  • S(t)

σ (i) ∪ {σi} | i ∈ [n]

  • σ

i

◮ mclns(G) ctw(G) + 1: connected tree-decomposition (T, F) σ σ = vertex ordering resulting from a traversal of (T, F) starting at the root

slide-42
SLIDE 42

Contraction obstruction sets

  • Observation. The mclns parameter is closed under edge-contraction.

σ i j e σ/e i ve h h i ∈ S(t)

σ (h)

i ∈ S(t)

σ/e(h)

slide-43
SLIDE 43

Contraction obstruction sets

  • Observation. The mclns parameter is closed under edge-contraction.

σ i j e σ/e i ve h h i ∈ S(t)

σ (h)

i ∈ S(t)

σ/e(h)

We define

◮ Ck =

  • G | mclns(G) k
  • ◮ obs(Ck) =
  • G | mclns(G) > k and ∀H, H ≺c G, mclns(H) k
slide-44
SLIDE 44

Results (2) – Obstruction set for C2

Theorem 2 [Adler, P., Thilikos (grasta’17)] The set of obstructions for C2 is obs(C2) = {K4} ∪ H1 ∪ H2 ∪ R where

H1 H2 K4

slide-45
SLIDE 45

Results (2) – Obstruction set for C2

Theorem 2 [Adler, P., Thilikos (grasta’17)] The set of obstructions for C2 is obs(C2) = {K4} ∪ H1 ∪ H2 ∪ R where

H1 H2

K4

◮ graphs of H1 ∪ H2 are obtained by replacing thick subdivided edges

by multiple subdivided edges;

slide-46
SLIDE 46

Results (2) – Obstruction set for C2

Theorem 2 [Adler, P., Thilikos (grasta’17)] The set of obstructions for C2 is obs(C2) = {K4} ∪ H1 ∪ H2 ∪ R where

H1 H2

K4

R2

1

R3

1

Rℓ

1

r r

R1

r r

R ◮ graphs of H1 ∪ H2 are obtained by replacing thick subdivided edges

by multiple subdivided edges;

◮ graphs of R are obtained by gluing two graphs of R on their root

vertex.

slide-47
SLIDE 47

Obstruction set for C2 – some lemmas

  • Lemma. Let G ∈ obs(Ck).

◮ If x is a cut-vertex, then G − x contains two connected components; ◮ G contains at most one cut-vertex.

x C1 C2 C3 C1 C2 C3 x y

slide-48
SLIDE 48

Obstruction set for C2 – some lemmas

  • Lemma. Let G ∈ obs(Ck).

◮ If x is a cut-vertex, then G − x contains two connected components; ◮ G contains at most one cut-vertex.

x C1 C2 C3 C1 C2 C3 x y

Sketch of proof: Suppose G − x contains 3 connected components As G/C1, G/C2, G/C3 are contractions:

  • 1. ctvs(C1, x) k or ctvs(C2, x) k;
  • 2. ctvs(C2, x) k or ctvs(C3, x) k;
  • 3. ctvs(C3, x) k or ctvs(C1, x) k.

⇒ there exists σ such that ctvs(G, σ) k: contradiction.

slide-49
SLIDE 49

Obstruction set for C2 – some lemmas

  • Lemma. Let G ∈ obs(Ck).

◮ If x is a cut-vertex, then G − x contains two connected components; ◮ G contains at most one cut-vertex.

x C1 C2 C3 C1 C2 C3 x y

Twin-expansion Lemma. Let x and y are two twin-vertices of degree 2 of a graph G and G + be the graph obtained from G by adding an arbitrary number of twins of x and y. Then G ∈ obs(Ck) if and only if G + ∈ obs(Ck).

slide-50
SLIDE 50

Obstruction set for C2 – some lemmas

  • Lemma. Let G ∈ obs(Ck).

◮ If x is a cut-vertex, then G − x contains two connected components; ◮ G contains at most one cut-vertex.

x C1 C2 C3 C1 C2 C3 x y

  • Lemma. For every k ≥ 1 and every connected graph G, G ∈ Ok is not a

biconnected graph iff G ∈ {A ⊕ B | A, B ∈ R}.

R2

1

R3

1

Rℓ

1

r r

R1

r r

R

slide-51
SLIDE 51

Results (3) – Price of connectivity

Theorem [Derenioswki’12] pw(G) cpw(G) 2 · pw(G) + 1

r v

slide-52
SLIDE 52

Results (3) – Price of connectivity

Theorem [Derenioswki’12] pw(G) cpw(G) 2 · pw(G) + 1

r v

Theorem [Adler, P., Thilikos, (grasta 2017)] ∀n ∈ N, ∃Gn such that mlns(Gn) = 3 and mclns(Gn) = 3 + n

a b c

G1

a b c

G1 G1 G1 G1 G1 G1 G1 G1

G2

G1 G1 G1

tw ctw # of levels # of parallel edges in highest level G1 2 3 1 4 G2 2 4 2 5 G3 2 5 3 6 G4 2 6 4 7

slide-53
SLIDE 53

Results (3) – Price of connectivity

Theorem [Derenioswki’12] pw(G) cpw(G) 2 · pw(G) + 1

r v

Theorem [Adler, P., Thilikos, (grasta 2017)] ∀n ∈ N, ∃Gn such that mlns(Gn) = 3 and mclns(Gn) = 3 + n and |V (Gn)| = O(2n). [Fraigniaud, Nisee’08]

a b c

G1

a b c

G1 G1 G1 G1 G1 G1 G1 G1

G2

G1 G1 G1

tw ctw # of levels # of parallel edges in highest level G1 2 3 1 4 G2 2 4 2 5 G3 2 5 3 6 G4 2 6 4 7

slide-54
SLIDE 54

Computing the connected treewidth

A graph H is a contraction of a graph G, denoted H c G, if H is obtained from G by a series of contractions. A graph H is a minor of a graph G, denoted H m G, if H is obtained from a subgraph G ′ of G by a series of contractions.

slide-55
SLIDE 55

Computing the connected treewidth

A graph H is a contraction of a graph G, denoted H c G, if H is obtained from G by a series of contractions. A graph H is a minor of a graph G, denoted H m G, if H is obtained from a subgraph G ′ of G by a series of contractions. Theorem [Roberston & Seymour’84-04, Bodlaender’96] There is an algorithm that, given a graph G and an integer k, decide whether tw(G) k in f (k) · nO(1) steps. tw(.) is a parameter closed under minor. graphs are well-quasi-ordered by the minor relation. minor testing can be performed in FPT-time.

slide-56
SLIDE 56

Computing the connected treewidth

A graph H is a contraction of a graph G, denoted H c G, if H is obtained from G by a series of contractions. A graph H is a minor of a graph G, denoted H m G, if H is obtained from a subgraph G ′ of G by a series of contractions. Observation: Ck is closed under contraction not under minor !

◮ Can we decide whether ctw(G) k in time

f (k) · nO(1) (FPT)

  • r

nf (k) (XP) ? Theorem [Dereniowski, Osula, Rzazweski’18] There is an algorithm that, given a graph G and an integer k, decides whether cpw(G) k in nO(k2) steps.

slide-57
SLIDE 57

Computing the connected treewidth

A graph H is a contraction of a graph G, denoted H c G, if H is obtained from G by a series of contractions. A graph H is a minor of a graph G, denoted H m G, if H is obtained from a subgraph G ′ of G by a series of contractions. Observation: Ck is closed under contraction not under minor !

◮ Can we decide whether ctw(G) k in time

f (k) · nO(1) (FPT)

  • r

nf (k) (XP) ? Theorem [Dereniowski, Osula, Rzazweski’18] There is an algorithm that, given a graph G and an integer k, decides whether cpw(G) k in nO(k2) steps. Theorem [Kante, P., Thilikos (grasta 2018)] There is an algorithm that, given a graph G and an integer k, decides whether cpw(G) k in f (k) · nO(1) steps.

slide-58
SLIDE 58

(Connected) path-decomposition and pathwidth

A path-decomposition of a graph G is a sequence B = [B1, . . . Br] st.

◮ for every i ∈ [r], Bi ⊆ V (G); ◮ for every v ∈ V (G), ∃i, j ∈ [r] st. ∀i k j, v ∈ Bk.

r v

The path-decomposition B is connected if

◮ for every i ∈ [r], the subgraph G[∪jiBj] is connected.

slide-59
SLIDE 59

(Connected) path-decomposition and pathwidth

A path-decomposition of a graph G is a sequence B = [B1, . . . Br] st.

◮ for every i ∈ [r], Bi ⊆ V (G); ◮ for every v ∈ V (G), ∃i, j ∈ [r] st. ∀i k j, v ∈ Bk.

r v

The path-decomposition B is connected if

◮ for every i ∈ [r], the subgraph G[∪jiBj] is connected.

Theorem [Derenioswki’12] pw(G) cpw(G) 2 · pw(G) + 1 we may assume that

◮ pw(G) 2k + 1. ◮ B = [B1, . . . Br] is a nice path-decomposition of with at most 2k + 1.

slide-60
SLIDE 60

DP algorithm – connected path-decomposition of rooted graphs

B1 B2 Bi Br

At step i, we aim at computing a connected path-decomposition A = [A1, . . . Aq] of the rooted graph (Gi, Bi) where Gi = G[∪jiBj]. Observation: The graph Gi may not be connected.

slide-61
SLIDE 61

DP algorithm – connected path-decomposition of rooted graphs

B1 B2 Bi Br

At step i, we aim at computing a connected path-decomposition A = [A1, . . . Aq] of the rooted graph (Gi, Bi) where Gi = G[∪jiBj]. Observation: The graph Gi may not be connected. A path-decomposition Ai = [A1

i , . . . Aℓ i ] of a rooted graph (Gi, Bi) is

connected if

◮ for every j ∈ [ℓ], every connected

component of G j

i = G[∪kjAj i]

intersects Bi.

A1

i

A2

i

Aj

i

Aℓ

i

C1 C2 C3 C4

Gj

i

slide-62
SLIDE 62

DP algorithm – encoding

Ai = [A1

i , . . . Aj i, . . . Aℓ i ] is a connected path-decomposition of (Gi, Bi)

A1

i

A2

i

Bi

Aℓ

i

Gi

Aj

i

slide-63
SLIDE 63

DP algorithm – encoding

Ai = [A1

i , . . . Aj i, . . . Aℓ i ] is a connected path-decomposition of (Gi, Bi)

A1

i

A2

i

Bi

Aℓ

i

Gi

Aj

i

˜ B1

i

˜ B2

i

˜ Bj

i

Each bag Aj

i is represented by a basic triple

˜ tj

i = ( ˜

Bj

i = Bi ∩ Aj i ,

˜ Cj

i

, zj

i = |Aj i \ Bi|)

slide-64
SLIDE 64

DP algorithm – encoding

Ai = [A1

i , . . . Aj i, . . . Aℓ i ] is a connected path-decomposition of (Gi, Bi)

A1

i

A2

i

Bi

Aℓ

i

Gi

Aj

i

˜ B1

i

˜ B2

i

˜ Bj

i

Gj

i

Each bag Aj

i is represented by a basic triple

˜ tj

i = ( ˜

Bj

i = Bi ∩ Aj i ,

˜ Cj

i

, zj

i = |Aj i \ Bi|)

where ˜ C j

i is a partition of V j i such that every part X is the intersection of

Bi with a connected component of G j

i .

slide-65
SLIDE 65

DP algorithm – encoding

Observation: The size of a basic triple is O(pw(G)). But ℓ can be arbitrarily large.

slide-66
SLIDE 66

DP algorithm – encoding

Observation: The size of a basic triple is O(pw(G)). But ℓ can be arbitrarily large. we need to compress the sequence of basic triples [˜ t1

i , . . . , ˜

tℓ

i ]. z4 z5 z6

(B4

i , C4 i , Z4 i = z4, z5, z6)

slide-67
SLIDE 67

DP algorithm – encoding

Observation: The size of a basic triple is O(pw(G)). But ℓ can be arbitrarily large. we need to compress the sequence of basic triples [˜ t1

i , . . . , ˜

tℓ

i ]. z4 z5 z6

(B4

i , C4 i , Z4 i = z4, z5, z6)

Each sequence Z j

i of integers in [1, k] will be represented by its

characteristic sequence of size O(k). [Bodlaender & Kloks, 1996]

slide-68
SLIDE 68

DP algorithm – encoding

z4 z5 z6

(B4

i , C4 i , Z4 i = z4, z5, z6)

Lemma [Representative sequence] The size of the representative sequence for the path-decomposition [A1

i , . . . Aℓ i ] of (Gi, Bi) is O(pw(G)2).

slide-69
SLIDE 69

DP algorithm – encoding

z4 z5 z6

(B4

i , C4 i , Z4 i = z4, z5, z6)

Lemma [Representative sequence] The size of the representative sequence for the path-decomposition [A1

i , . . . Aℓ i ] of (Gi, Bi) is O(pw(G)2).

Lemma [Congruency] If two boundaried graphs (G1, B) and (G2, B) have the same representative sequence, then for every boundaried graph (H, B) cpw((G1, B) ⊕ (H, B)) k ⇔ cpw((G2, B) ⊕ (H, B)) k

slide-70
SLIDE 70

DP algorithm

Build the set of characteristic sequence for (Gi+1, Bi+1) using the one

  • f (Gi, Bi)

◮ Introduce node Bi+1 = Bi ∪ {vinsert} ◮ Forget node Bi = Bi+1 ∪ {vforget}

slide-71
SLIDE 71

DP algorithm

Build the set of characteristic sequence for (Gi+1, Bi+1) using the one

  • f (Gi, Bi)

◮ Introduce node Bi+1 = Bi ∪ {vinsert} ◮ Forget node Bi = Bi+1 ∪ {vforget}

Theorem [Kant´ e, P. Thilikos] Given a graph G, we can decide if cpw(G) k in time 2O(k2) · n.

slide-72
SLIDE 72

Conclusion

Open problems

◮ What is the complexity of deciding whether ctw(G) k ?

Can it be solved in FPT time, or even XP time ? Or provide an hardness proof.

◮ What is the complexity of deciding whether ctw(G) k when

parameterized by tw(G) ? (assuming a positive answer to the previous question) Can it be solved in FPT time, or even XP time ? Or provide an hardness proof.

slide-73
SLIDE 73

Conclusion

Open problems

◮ What is the complexity of deciding whether ctw(G) k ?

Can it be solved in FPT time, or even XP time ? Or provide an hardness proof.

◮ What is the complexity of deciding whether ctw(G) k when

parameterized by tw(G) ? (assuming a positive answer to the previous question) Can it be solved in FPT time, or even XP time ? Or provide an hardness proof. Theorem [Mescoff, P., Thilikos (grasta 2018)] If G is a series-parallel graph (i.e. tw(G) = 2), then we can decide if ctw(G) k in time nO(1).

slide-74
SLIDE 74

Conclusion

Open problems

◮ What is the complexity of deciding whether ctw(G) k ?

Can it be solved in FPT time, or even XP time ? Or provide an hardness proof.

◮ What is the complexity of deciding whether ctw(G) k when

parameterized by tw(G) ? (assuming a positive answer to the previous question) Can it be solved in FPT time, or even XP time ? Or provide an hardness proof. Theorem [Mescoff, P., Thilikos (grasta 2018)] If G is a series-parallel graph (i.e. tw(G) = 2), then we can decide if ctw(G) k in time nO(1).

◮ Identify problems that are hard with respect to tw(.) but not with

respect to ctw(.).

◮ Describe the set of obstructions for k 3.

slide-75
SLIDE 75

Conclusion – connected treewidth

◮ [P. Fraigniaud, N. Nisse, LATIN’06]

To each edge eT of the tree-decomposition we associate two graphs G eT

1

and G eT

2

that need to be connected.

◮ [P. J´

egou, C. Terrioux, Constraints’17], [Diestel, Combinatorica’17] every bag of the tree decomposition (T, F) induces a connected subgraph

◮ [IA, Constraints] : efficient heuristics based on the structure of

the constraint network to fasten backtracking strategies;

◮ [Graph theory] : duality theorem, relation to graph

hyperbolicity.

slide-76
SLIDE 76

Thank to the organizers !