Introduction to Parametrized Algorithms Part 2kowalik/teach/algorytmika/fpt-tw.pdf · Introduction...

Preview:

Citation preview

Introduction to Parametrized AlgorithmsPart 2

Marcin Pilipczukslides by Marek Cygan, �ukasz Kowalik, Marcin Pilipczuk, and Michaª

Pilipczuk

28.05.2018

Marcin Pilipczuk (UW) Introduction to FPT (2) 1 / 28

Motivation of treewidth

Independent Set: given a graph, �nd the maximum possible sizeof a subset of vertices that are pairwise non-adjacent.

weighted version: �nd an independent set of maximum possibleweight.

NP-hard in general, tractable in many special cases.

Easy exercise: linear-time algorithm on trees.

I Principle of dynamic programming.

Marcin Pilipczuk (UW) Introduction to FPT (2) 2 / 28

Motivation of treewidth

Independent Set: given a graph, �nd the maximum possible sizeof a subset of vertices that are pairwise non-adjacent.

weighted version: �nd an independent set of maximum possibleweight.

NP-hard in general, tractable in many special cases.

Easy exercise: linear-time algorithm on trees.

I Principle of dynamic programming.

Marcin Pilipczuk (UW) Introduction to FPT (2) 2 / 28

Motivation of treewidth

Independent Set: given a graph, �nd the maximum possible sizeof a subset of vertices that are pairwise non-adjacent.

weighted version: �nd an independent set of maximum possibleweight.

NP-hard in general, tractable in many special cases.

Easy exercise: linear-time algorithm on trees.

I Principle of dynamic programming.

Marcin Pilipczuk (UW) Introduction to FPT (2) 2 / 28

Motivation of treewidth

Independent Set: given a graph, �nd the maximum possible sizeof a subset of vertices that are pairwise non-adjacent.

weighted version: �nd an independent set of maximum possibleweight.

NP-hard in general, tractable in many special cases.

Easy exercise: linear-time algorithm on trees.

I Principle of dynamic programming.

Marcin Pilipczuk (UW) Introduction to FPT (2) 2 / 28

Motivation of treewidth

Independent Set: given a graph, �nd the maximum possible sizeof a subset of vertices that are pairwise non-adjacent.

weighted version: �nd an independent set of maximum possibleweight.

NP-hard in general, tractable in many special cases.

Easy exercise: linear-time algorithm on trees.I Principle of dynamic programming.

Marcin Pilipczuk (UW) Introduction to FPT (2) 2 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .

I Tu is the subtree rooted at u.

Compute dynamic programming tables:

I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ]. u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:

I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:

I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.

I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.

I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:

I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:I A[u] = max(B[u],C [u]).

I B[u] = w(u) +∑

v∈chld(u) C [v ].I C [u] =

∑v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ].

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r .I Tu is the subtree rooted at u.

Compute dynamic programming tables:I A[u]: maximum weight of an IS in Tu.I B[u]: maximum weight of an IS in Tu that contains u.I C [u]: maximum weight of an IS in Tu that excludes u.

Recursive formulas:I A[u] = max(B[u],C [u]).I B[u] = w(u) +

∑v∈chld(u) C [v ].

I C [u] =∑

v∈chld(u) A[v ].

Answer: A[r ]. u

Marcin Pilipczuk (UW) Introduction to FPT (2) 3 / 28

Independent Set on trees: Why does the DP work?

Very limited dependence between vertices

Essential information about subtree stored in a compact way.

u

Marcin Pilipczuk (UW) Introduction to FPT (2) 4 / 28

Generalizations of paths and trees

pathlike

path

Pathwidth

Graph of small pathwidth is path-like.We hope that problems tractable on paths are also tractable on graphs ofsmall pathwidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 5 / 28

Generalizations of paths and trees

tree treelike

Treewidth

Graph of small treewidth is tree-like.We hope that problems tractable on trees are also tractable on graphs ofsmall treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 5 / 28

Generalizations of paths and trees

treeliketree

Treewidth

Graph of small treewidth is tree-like.We hope that problems tractable on trees are also tractable on graphs ofsmall treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 5 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to FPT (2) 6 / 28

De�nition (mapping to intervals)

De�nition

A graph G has pathwidth ≤ pw if there exists a function f : V → intervalssuch that:

1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v2 v3 v4 v5

v1f (v1)

f (v2) f (v4)

f (v3) f (v5)

Marcin Pilipczuk (UW) Introduction to FPT (2) 7 / 28

De�nition (mapping to intervals)

De�nition

A graph G has pathwidth ≤ pw if there exists a function f : V → intervalssuch that:

1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v2 v3 v4 v5

v1

f (v1)

f (v2) f (v4)

f (v3) f (v5)

Marcin Pilipczuk (UW) Introduction to FPT (2) 7 / 28

De�nition (mapping to intervals)

De�nition

A graph G has pathwidth ≤ pw if there exists a function f : V → intervalssuch that:

1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v2 v3 v4 v5

v1f (v1)

f (v2) f (v4)

f (v3) f (v5)

Marcin Pilipczuk (UW) Introduction to FPT (2) 7 / 28

De�nition (mapping to intervals)

De�nition

A graph G has pathwidth ≤ pw if there exists a function f : V → intervalssuch that:

1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v2 v3 v4 v5

v1f (v1)

f (v2) f (v4)

f (v3) f (v5)

Marcin Pilipczuk (UW) Introduction to FPT (2) 7 / 28

Path decompositions and pathwidth

Graph G = (V ,E ) Path decomposition of G

c

b

a

f

e

d

i

h

g

abdef bcdef defgh efhi

Path decomposition is a path of bags (subsets of V )

such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subpath(connected!)

Width of the decomposition: maximum bag size −1 (here: 4).Pathwidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 8 / 28

Path decompositions and pathwidth

Graph G = (V ,E ) Path decomposition of G

c

b

a

f

e

d

i

h

g

abdef bcdef defgh efhi

Path decomposition is a path of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subpath(connected!)

Width of the decomposition: maximum bag size −1 (here: 4).Pathwidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 8 / 28

Path decompositions and pathwidth

Graph G = (V ,E ) Path decomposition of G

c

b

a

f

e

dd

i

h

g

abdef bcdef defgh efhiabdef bcdef defgh efhi

Path decomposition is a path of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subpath(connected!)

Width of the decomposition: maximum bag size −1 (here: 4).Pathwidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 8 / 28

Path decompositions and pathwidth

Graph G = (V ,E ) Path decomposition of G

c

b

a

f

e

d

i

h

g

abdef bcdef defgh efhi

Path decomposition is a path of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subpath(connected!)

Width of the decomposition: maximum bag size −1 (here: 4).Pathwidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 8 / 28

Nice path decompositionGraph G = (V ,E ) Path decomposition of G

c

b

a

f

e

d

i

h

g ∅ a ab abd abde abdef bdef

bcdef bdef def defg defgh efgh

efh efhi efh ef e ∅Nice path decomposition is a path decomposition X1, . . . ,Xr such that

X1 = Xr = ∅For i = 2, . . . , r bag Xi is of one of two types:

1 Introduce bag: Xi = Xi−1 ∪ {v} for some v ∈ V \ Xi−1,2 Forget bag: Xi = Xi−1 \ {v} for some v ∈ Xi−1.

(Easy) Theorem 1: Graph has a path decomposition of width w i� it has anice path decomposition of width w (at most 2w times longer).

Marcin Pilipczuk (UW) Introduction to FPT (2) 9 / 28

Nice path decompositionGraph G = (V ,E ) Path decomposition of G

c

b

a

f

e

d

i

h

g ∅ a ab abd abde abdef bdef

bcdef bdef def defg defgh efgh

efh efhi efh ef e ∅Nice path decomposition is a path decomposition X1, . . . ,Xr such that

X1 = Xr = ∅For i = 2, . . . , r bag Xi is of one of two types:

1 Introduce bag: Xi = Xi−1 ∪ {v} for some v ∈ V \ Xi−1,2 Forget bag: Xi = Xi−1 \ {v} for some v ∈ Xi−1.

(Easy) Theorem 2: There is a mapping of G to p intervals i� G has nicepath decomposition with bags of size p.

Marcin Pilipczuk (UW) Introduction to FPT (2) 9 / 28

Dynamic programming for Independent Set

For every node t of a path decomposition of graph G :

Xt = the bag at t,

Vt =⋃

i≤t Xi

X1 XtVt · · ·

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We now give recursive equations on Ψ[·, ·].Ψ[i , ∅] = 0 if i = 1.

The answer is Ψ[r , ∅].We follow convention that Ψ[i , f ] = −∞ if f −1(1) is already notindependent.

Marcin Pilipczuk (UW) Introduction to FPT (2) 10 / 28

Dynamic programming for Independent Set

For every node t of a path decomposition of graph G :

Xt = the bag at t,

Vt =⋃

i≤t Xi

X1 XtVt · · ·

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We now give recursive equations on Ψ[·, ·].Ψ[i , ∅] = 0 if i = 1.

The answer is Ψ[r , ∅].We follow convention that Ψ[i , f ] = −∞ if f −1(1) is already notindependent.

Marcin Pilipczuk (UW) Introduction to FPT (2) 10 / 28

Dynamic programming for Independent Set

For every node t of a path decomposition of graph G :

Xt = the bag at t,

Vt =⋃

i≤t Xi

X1 XtVt · · ·

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We now give recursive equations on Ψ[·, ·].

Ψ[i , ∅] = 0 if i = 1.

The answer is Ψ[r , ∅].We follow convention that Ψ[i , f ] = −∞ if f −1(1) is already notindependent.

Marcin Pilipczuk (UW) Introduction to FPT (2) 10 / 28

Dynamic programming for Independent Set

For every node t of a path decomposition of graph G :

Xt = the bag at t,

Vt =⋃

i≤t Xi

X1 XtVt · · ·

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We now give recursive equations on Ψ[·, ·].Ψ[i , ∅] = 0 if i = 1.

The answer is Ψ[r , ∅].We follow convention that Ψ[i , f ] = −∞ if f −1(1) is already notindependent.

Marcin Pilipczuk (UW) Introduction to FPT (2) 10 / 28

Dynamic programming for Independent Set

For every node t of a path decomposition of graph G :

Xt = the bag at t,

Vt =⋃

i≤t Xi

X1 XtVt · · ·

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We now give recursive equations on Ψ[·, ·].Ψ[i , ∅] = 0 if i = 1.

The answer is Ψ[r , ∅].

We follow convention that Ψ[i , f ] = −∞ if f −1(1) is already notindependent.

Marcin Pilipczuk (UW) Introduction to FPT (2) 10 / 28

Dynamic programming for Independent Set

For every node t of a path decomposition of graph G :

Xt = the bag at t,

Vt =⋃

i≤t Xi

X1 XtVt · · ·

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We now give recursive equations on Ψ[·, ·].Ψ[i , ∅] = 0 if i = 1.

The answer is Ψ[r , ∅].We follow convention that Ψ[i , f ] = −∞ if f −1(1) is already notindependent.

Marcin Pilipczuk (UW) Introduction to FPT (2) 10 / 28

DP for Independent Set: introduce node

Introduce node i such that Xi = Xi−1 ∪ {v}.

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

If f (v) = 0 thenΨ[i , f ] = Ψ[i − 1, f |Xi−1

].

If f (v) = 1 and there is v ′ ∈ Xi s.t. vv ′ ∈ E (G ) and f (v ′) = 1, then

Ψ[i , f ] = −∞.

Otherwise, we have

Ψ[i , f ] = 1 + Ψ[i − 1, f |Xi−1].

Marcin Pilipczuk (UW) Introduction to FPT (2) 11 / 28

DP for Independent Set: introduce node

Introduce node i such that Xi = Xi−1 ∪ {v}.

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

If f (v) = 0 thenΨ[i , f ] = Ψ[i − 1, f |Xi−1

].

If f (v) = 1 and there is v ′ ∈ Xi s.t. vv ′ ∈ E (G ) and f (v ′) = 1, then

Ψ[i , f ] = −∞.

Otherwise, we have

Ψ[i , f ] = 1 + Ψ[i − 1, f |Xi−1].

Marcin Pilipczuk (UW) Introduction to FPT (2) 11 / 28

DP for Independent Set: introduce node

Introduce node i such that Xi = Xi−1 ∪ {v}.

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

If f (v) = 0 thenΨ[i , f ] = Ψ[i − 1, f |Xi−1

].

If f (v) = 1 and there is v ′ ∈ Xi s.t. vv ′ ∈ E (G ) and f (v ′) = 1, then

Ψ[i , f ] = −∞.

Otherwise, we have

Ψ[i , f ] = 1 + Ψ[i − 1, f |Xi−1].

Marcin Pilipczuk (UW) Introduction to FPT (2) 11 / 28

DP for Independent Set: forget node

Forget node i such that Xi = Xi−1 \ {v}.

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Ψ[i , f ] = max(Ψ[i − 1, f [v → 0]],Ψ[i − 1, f [v → 1]]).

There is no need to check edges, since we have already checked them atintroduce nodes. That is, even if there is u ∈ Xi such that vu ∈ E (G ) andf (u) = 1, then

Ψ[i − 1, f [v → 1]] = −∞

and the above recursion reduces to

Ψ[i , f ] = Ψ[i − 1, f [v → 0]].

Marcin Pilipczuk (UW) Introduction to FPT (2) 12 / 28

DP for Independent Set: forget node

Forget node i such that Xi = Xi−1 \ {v}.

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Ψ[i , f ] = max(Ψ[i − 1, f [v → 0]],Ψ[i − 1, f [v → 1]]).

There is no need to check edges, since we have already checked them atintroduce nodes. That is, even if there is u ∈ Xi such that vu ∈ E (G ) andf (u) = 1, then

Ψ[i − 1, f [v → 1]] = −∞

and the above recursion reduces to

Ψ[i , f ] = Ψ[i − 1, f [v → 0]].

Marcin Pilipczuk (UW) Introduction to FPT (2) 12 / 28

DP for Independent Set: conclusion for pathwidth

Theorem

Given an n-vertex graph and its path decomposition of width p,Independent Set can be solved in time 2pnO(1)pO(1).

Marcin Pilipczuk (UW) Introduction to FPT (2) 13 / 28

Tree decompositions and treewidth

Graph G = (V ,E ) Tree decomposition of G

c

b

a

f

e

d

i

h

g

bdef defh

abde

bcf

dhge

ehfi

Tree decomposition is a tree of bags (subsets of V )

such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subtree(connected!)

Width of the decomposition: maximum bag size −1 (here: 3).Treewidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 14 / 28

Tree decompositions and treewidth

Graph G = (V ,E ) Tree decomposition of G

c

b

a

f

e

d

i

h

g

bdef defh

abde

bcf

dhge

ehfi

Tree decomposition is a tree of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subtree(connected!)

Width of the decomposition: maximum bag size −1 (here: 3).Treewidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 14 / 28

Tree decompositions and treewidth

Graph G = (V ,E ) Tree decomposition of G

c

b

a

f

e

d

i

h

g

bdef defh

abde

bcf

dhge

ehfi

bdef defh

abde dhge

ehfi

Tree decomposition is a tree of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subtree(connected!)

Width of the decomposition: maximum bag size −1 (here: 3).Treewidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 14 / 28

Tree decompositions and treewidth

Graph G = (V ,E ) Tree decomposition of G

c

b

a

f

e

d

i

h

g

bdef defh

abde

bcf

dhge

ehfi

defh

dhge

ehfi

Tree decomposition is a tree of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subtree(connected!)

Width of the decomposition: maximum bag size −1 (here: 3).Treewidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 14 / 28

Tree decompositions and treewidth

Graph G = (V ,E ) Tree decomposition of G

c

b

a

f

e

d

i

h

g

bdef defh

abde

bcf

dhge

ehfi

abde

Tree decomposition is a tree of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subtree(connected!)

Width of the decomposition: maximum bag size −1 (here: 3).Treewidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 14 / 28

Tree decompositions and treewidth

Graph G = (V ,E ) Tree decomposition of G

c

b

a

f

e

d

i

h

g

bdef defh

abde

bcf

dhge

ehfi

Tree decomposition is a tree of bags (subsets of V ) such that

For every edge uv ∈ E some bag contains u and v

For every vertex v ∈ V bags containing v form nonempty subtree(connected!)

Width of the decomposition: maximum bag size −1 (here: 3).Treewidth of G : minimum width of a decomposition of G .

Marcin Pilipczuk (UW) Introduction to FPT (2) 14 / 28

Nice tree decompositions

Nice tree decomposition is a rooted tree decomp. (T , {Xi}i∈V (T )) s.t.

Xi = ∅ for every leaf i ,

Xr = ∅ for the root r ,

Every non-leaf node i ∈ V (T ) is of one of three types:1 Introduce: Xi = Xj ∪ {v} for v ∈ V \ Xj , where j is the only child of i ,2 Forget: Xi = Xj \ {v} for v ∈ Xj , where j is the only child of i ,3 Join: Xi = Xj = Xk where j and k are the only two children of i .

i

Xi = Xj ∪ {v}

j

i

Xi = Xj \ {v}

j

i

Xi = Xj = Xk

j k

Introduce node Forget node Join node

Marcin Pilipczuk (UW) Introduction to FPT (2) 15 / 28

Example

c

b

f

e

d

h

(Easy) Theorem 1: Graph has a treedecomposition of width w i� it has anice tree decomposition of width w(at most 2w times larger).

b

be

bef

bef

be

bed

be

b

bef

bef

bf

bcf

bc

b

bef

ef

efh

ef

e

Marcin Pilipczuk (UW) Introduction to FPT (2) 16 / 28

Dynamic programming for Independent Set cont'dFor every node t of a tree decomposition of graph G :

Xt = the bag at t,Vt = union of all bags in the subtree rooted at t.

Xt

Vt

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Computation in the bottom-up manner. The answer is Ψ[r , ∅].For leaves Ψ[i , ∅] = 0, as before.Introduce and forget nodes processed as before.

Marcin Pilipczuk (UW) Introduction to FPT (2) 17 / 28

Dynamic programming for Independent Set cont'dFor every node t of a tree decomposition of graph G :

Xt = the bag at t,Vt = union of all bags in the subtree rooted at t.

Xt

Vt

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Computation in the bottom-up manner. The answer is Ψ[r , ∅].For leaves Ψ[i , ∅] = 0, as before.Introduce and forget nodes processed as before.

Marcin Pilipczuk (UW) Introduction to FPT (2) 17 / 28

Dynamic programming for Independent Set cont'dFor every node t of a tree decomposition of graph G :

Xt = the bag at t,Vt = union of all bags in the subtree rooted at t.

Xt

Vt

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Computation in the bottom-up manner. The answer is Ψ[r , ∅].

For leaves Ψ[i , ∅] = 0, as before.Introduce and forget nodes processed as before.

Marcin Pilipczuk (UW) Introduction to FPT (2) 17 / 28

Dynamic programming for Independent Set cont'dFor every node t of a tree decomposition of graph G :

Xt = the bag at t,Vt = union of all bags in the subtree rooted at t.

Xt

Vt

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Computation in the bottom-up manner. The answer is Ψ[r , ∅].For leaves Ψ[i , ∅] = 0, as before.

Introduce and forget nodes processed as before.

Marcin Pilipczuk (UW) Introduction to FPT (2) 17 / 28

Dynamic programming for Independent Set cont'dFor every node t of a tree decomposition of graph G :

Xt = the bag at t,Vt = union of all bags in the subtree rooted at t.

Xt

Vt

For every f : Xi → {0, 1} we want to compute the following.

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

Computation in the bottom-up manner. The answer is Ψ[r , ∅].For leaves Ψ[i , ∅] = 0, as before.Introduce and forget nodes processed as before.

Marcin Pilipczuk (UW) Introduction to FPT (2) 17 / 28

DP for Independent Set: join node

Join node i with children j and k .

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We have the following:

Ψ[i , f ] = Ψ[j , f ] + Ψ[k , f ]− |f −1(1)|.

Marcin Pilipczuk (UW) Introduction to FPT (2) 18 / 28

DP for Independent Set: join node

Join node i with children j and k .

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We have the following:

Ψ[i , f ] = Ψ[j , f ] + Ψ[k , f ]− |f −1(1)|.

Marcin Pilipczuk (UW) Introduction to FPT (2) 18 / 28

DP for Independent Set: join node

Join node i with children j and k .

Goal: For f : Xi → {0, 1} compute

Ψ[i , f ] = max{|S | : S is an independent set in Vi and S ∩ Xi = f −1(1)}.

We have the following:

Ψ[i , f ] = Ψ[j , f ] + Ψ[k , f ]− |f −1(1)|.

Marcin Pilipczuk (UW) Introduction to FPT (2) 18 / 28

DP for Independent Set: conclusion

Theorem

Given an n-vertex graph and its tree decomposition of width t,Independent Set can be solved in time 2tnO(1)tO(1).

Formal proofs are tedious, but often necessary.

There are tricks to make your life easier:

I Solution cost does not include the cost of the bag ⇒No double-counting in join.

I Introduce edge node: think of edges as introduced one by one to the

graph, and not simultaneously when a vertex is introduced.I Introduce edges just before forgetting a vertex ⇒

Bags do not have edges when joining.

Marcin Pilipczuk (UW) Introduction to FPT (2) 19 / 28

DP for Independent Set: conclusion

Theorem

Given an n-vertex graph and its tree decomposition of width t,Independent Set can be solved in time 2tnO(1)tO(1).

Formal proofs are tedious, but often necessary.

There are tricks to make your life easier:

I Solution cost does not include the cost of the bag ⇒No double-counting in join.

I Introduce edge node: think of edges as introduced one by one to the

graph, and not simultaneously when a vertex is introduced.I Introduce edges just before forgetting a vertex ⇒

Bags do not have edges when joining.

Marcin Pilipczuk (UW) Introduction to FPT (2) 19 / 28

DP for Independent Set: conclusion

Theorem

Given an n-vertex graph and its tree decomposition of width t,Independent Set can be solved in time 2tnO(1)tO(1).

Formal proofs are tedious, but often necessary.

There are tricks to make your life easier:I Solution cost does not include the cost of the bag ⇒

No double-counting in join.

I Introduce edge node: think of edges as introduced one by one to the

graph, and not simultaneously when a vertex is introduced.I Introduce edges just before forgetting a vertex ⇒

Bags do not have edges when joining.

Marcin Pilipczuk (UW) Introduction to FPT (2) 19 / 28

DP for Independent Set: conclusion

Theorem

Given an n-vertex graph and its tree decomposition of width t,Independent Set can be solved in time 2tnO(1)tO(1).

Formal proofs are tedious, but often necessary.

There are tricks to make your life easier:I Solution cost does not include the cost of the bag ⇒

No double-counting in join.I Introduce edge node: think of edges as introduced one by one to the

graph, and not simultaneously when a vertex is introduced.

I Introduce edges just before forgetting a vertex ⇒Bags do not have edges when joining.

Marcin Pilipczuk (UW) Introduction to FPT (2) 19 / 28

DP for Independent Set: conclusion

Theorem

Given an n-vertex graph and its tree decomposition of width t,Independent Set can be solved in time 2tnO(1)tO(1).

Formal proofs are tedious, but often necessary.

There are tricks to make your life easier:I Solution cost does not include the cost of the bag ⇒

No double-counting in join.I Introduce edge node: think of edges as introduced one by one to the

graph, and not simultaneously when a vertex is introduced.I Introduce edges just before forgetting a vertex ⇒

Bags do not have edges when joining.

Marcin Pilipczuk (UW) Introduction to FPT (2) 19 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;

I partial k-treesI branchwidth

Viewpoints:

I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;

I partial k-treesI branchwidth

Viewpoints:

I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;

I partial k-treesI branchwidth

Viewpoints:

I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;I partial k-trees

I branchwidth

Viewpoints:

I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;I partial k-treesI branchwidth

Viewpoints:

I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;I partial k-treesI branchwidth

Viewpoints:

I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;I partial k-treesI branchwidth

Viewpoints:I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.

I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;I partial k-treesI branchwidth

Viewpoints:I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.

I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Treewidth: background

Introduced in 80-s independently in several di�erent contexts.

Variant used here is due to Robertson and Seymour.

Several related width parameters, characterizing the same concept;I partial k-treesI branchwidth

Viewpoints:I Algorithms: fast FPT algorithms parameterized by treewidth, e.g.

2t · tO(1) · n for IS.I Graph theory: crucial tool in the Graph Minors project;

treewidth and grid minors.I Logic: graph classes of bounded treewidth exactly correspond to

classes where MSO2 theory is decidable.

Marcin Pilipczuk (UW) Introduction to FPT (2) 20 / 28

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to havea decomposition of small width.

Computing treewidth optimally is NP-hard.

Moreover, constant-factor approximation is not possible under theSmall Set Expansion Conjecture.

Best known poly-time approximation has apx ratio O(√

logOPT ).

Idea: If we run an FPT algorithm anyways, we can a�ord FPTrunning time of computing treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 21 / 28

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to havea decomposition of small width.

Computing treewidth optimally is NP-hard.

Moreover, constant-factor approximation is not possible under theSmall Set Expansion Conjecture.

Best known poly-time approximation has apx ratio O(√

logOPT ).

Idea: If we run an FPT algorithm anyways, we can a�ord FPTrunning time of computing treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 21 / 28

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to havea decomposition of small width.

Computing treewidth optimally is NP-hard.

Moreover, constant-factor approximation is not possible under theSmall Set Expansion Conjecture.

Best known poly-time approximation has apx ratio O(√

logOPT ).

Idea: If we run an FPT algorithm anyways, we can a�ord FPTrunning time of computing treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 21 / 28

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to havea decomposition of small width.

Computing treewidth optimally is NP-hard.

Moreover, constant-factor approximation is not possible under theSmall Set Expansion Conjecture.

Best known poly-time approximation has apx ratio O(√

logOPT ).

Idea: If we run an FPT algorithm anyways, we can a�ord FPTrunning time of computing treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 21 / 28

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to havea decomposition of small width.

Computing treewidth optimally is NP-hard.

Moreover, constant-factor approximation is not possible under theSmall Set Expansion Conjecture.

Best known poly-time approximation has apx ratio O(√

logOPT ).

Idea: If we run an FPT algorithm anyways, we can a�ord FPTrunning time of computing treewidth.

Marcin Pilipczuk (UW) Introduction to FPT (2) 21 / 28

Algorithms for treewidthInput: Graph G and integer k

Robertson-Seymour 4-approximation (GM XIII, '95)

Output: Either conclusion that tw(G ) > k , ora tree decomposition of width ≤ 4k + 4

Runtime: O(8kk2 · n2)

Bodlaender's algorithm ('96)

Output: Either conclusion that tw(G ) > k , ora tree decomposition of width ≤ k

Runtime: kO(k3) · n

BDDFLP algorithm ('13)

Output: Either conclusion that tw(G ) > k , ora tree decomposition of width ≤ 5k + 4

Runtime: 2O(k) · nMarcin Pilipczuk (UW) Introduction to FPT (2) 22 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k .

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;

I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k .

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;

I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k .

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k .

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k .

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k.

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.

I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k.

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.

I Graphs of treewidth at most k.

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

Graph minors

Suppose we have two graphs H and G . Then H is a minor of G ifthere exists a minor model (Iu)u∈V (H) of H in G :

I Iu are pairwise disjoint sets of vertices in G ;I Each Iu induces a connected graph in G ;I For each uv ∈ E (H), there is an edge between some vertex of Iu and

some vertex of Iv .

Equivalently, H can be obtained from G using vertex deletions, edgedeletions, and edge contractions.

Graph class C is minor-closed if it is closed under taking minors.Examples:

I Planar graphs.I Graphs embeddable into a �xed surface.I Graphs of treewidth at most k .

Marcin Pilipczuk (UW) Introduction to FPT (2) 23 / 28

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar i� it does not contain K5 orK3,3 as a minor.

Wagner's conjecture: Every minor-closed class is characterized by a�nite number of forbidden minors.

Robertson, Seymour: This is indeed true.

I The proof spans over 700 pages and has set up a new branch of graph

theory.I For graphs of treewidth k , or of genus at most k, there is list of

forbidden minors whose length depends only on k.I Treewidth is one of the main technical tools.

Marcin Pilipczuk (UW) Introduction to FPT (2) 24 / 28

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar i� it does not contain K5 orK3,3 as a minor.

Wagner's conjecture: Every minor-closed class is characterized by a�nite number of forbidden minors.

Robertson, Seymour: This is indeed true.

I The proof spans over 700 pages and has set up a new branch of graph

theory.I For graphs of treewidth k , or of genus at most k, there is list of

forbidden minors whose length depends only on k.I Treewidth is one of the main technical tools.

Marcin Pilipczuk (UW) Introduction to FPT (2) 24 / 28

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar i� it does not contain K5 orK3,3 as a minor.

Wagner's conjecture: Every minor-closed class is characterized by a�nite number of forbidden minors.

Robertson, Seymour: This is indeed true.

I The proof spans over 700 pages and has set up a new branch of graph

theory.I For graphs of treewidth k , or of genus at most k, there is list of

forbidden minors whose length depends only on k .I Treewidth is one of the main technical tools.

Marcin Pilipczuk (UW) Introduction to FPT (2) 24 / 28

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar i� it does not contain K5 orK3,3 as a minor.

Wagner's conjecture: Every minor-closed class is characterized by a�nite number of forbidden minors.

Robertson, Seymour: This is indeed true.I The proof spans over 700 pages and has set up a new branch of graph

theory.

I For graphs of treewidth k , or of genus at most k, there is list of

forbidden minors whose length depends only on k .I Treewidth is one of the main technical tools.

Marcin Pilipczuk (UW) Introduction to FPT (2) 24 / 28

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar i� it does not contain K5 orK3,3 as a minor.

Wagner's conjecture: Every minor-closed class is characterized by a�nite number of forbidden minors.

Robertson, Seymour: This is indeed true.I The proof spans over 700 pages and has set up a new branch of graph

theory.I For graphs of treewidth k , or of genus at most k , there is list of

forbidden minors whose length depends only on k .

I Treewidth is one of the main technical tools.

Marcin Pilipczuk (UW) Introduction to FPT (2) 24 / 28

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar i� it does not contain K5 orK3,3 as a minor.

Wagner's conjecture: Every minor-closed class is characterized by a�nite number of forbidden minors.

Robertson, Seymour: This is indeed true.I The proof spans over 700 pages and has set up a new branch of graph

theory.I For graphs of treewidth k , or of genus at most k , there is list of

forbidden minors whose length depends only on k .I Treewidth is one of the main technical tools.

Marcin Pilipczuk (UW) Introduction to FPT (2) 24 / 28

Grid Minor Theorem

Grid Minor Theorem

There exists a function g : N→ N such that if tw(G ) > g(k), then Gcontains k × k grid as a minor.

Original proof: no elementary bound on g .

RST: g(k) = 2O(k5), then a series of improvements.

Chekuri&Chuzhoy'13: g(k) = O(k99).

Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to FPT (2) 25 / 28

Grid Minor Theorem

Grid Minor Theorem

There exists a function g : N→ N such that if tw(G ) > g(k), then Gcontains k × k grid as a minor.

Original proof: no elementary bound on g .

RST: g(k) = 2O(k5), then a series of improvements.

Chekuri&Chuzhoy'13: g(k) = O(k99).

Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to FPT (2) 25 / 28

Grid Minor Theorem

Grid Minor Theorem

There exists a function g : N→ N such that if tw(G ) > g(k), then Gcontains k × k grid as a minor.

Original proof: no elementary bound on g .

RST: g(k) = 2O(k5), then a series of improvements.

Chekuri&Chuzhoy'13: g(k) = O(k99).

Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to FPT (2) 25 / 28

Grid Minor Theorem

Grid Minor Theorem

There exists a function g : N→ N such that if tw(G ) > g(k), then Gcontains k × k grid as a minor.

Original proof: no elementary bound on g .

RST: g(k) = 2O(k5), then a series of improvements.

Chekuri&Chuzhoy'13: g(k) = O(k99).

Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to FPT (2) 25 / 28

Grid Minor Theorem

Grid Minor Theorem

There exists a function g : N→ N such that if tw(G ) > g(k), then Gcontains k × k grid as a minor.

Original proof: no elementary bound on g .

RST: g(k) = 2O(k5), then a series of improvements.

Chekuri&Chuzhoy'13: g(k) = O(k99).

Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to FPT (2) 25 / 28

Implications for planar graphs

Corollary: A planar graph on n vertices has treewidth O(√

n).

I Proof: If it had d√

n + 1e × d√

n + 1e grid as a minor, it would have

n + 1 vertices.I Note: Alternative proof via Lipton-Tarjan planar separator theorem.I Note: There are e�cient algorithms to compute such a tree

decomposition.

Corollary: Independent Set can be solved in time 2O(√n) on planar

graphs.

Marcin Pilipczuk (UW) Introduction to FPT (2) 26 / 28

Implications for planar graphs

Corollary: A planar graph on n vertices has treewidth O(√

n).I Proof: If it had d

√n + 1e × d

√n + 1e grid as a minor, it would have

n + 1 vertices.

I Note: Alternative proof via Lipton-Tarjan planar separator theorem.I Note: There are e�cient algorithms to compute such a tree

decomposition.

Corollary: Independent Set can be solved in time 2O(√n) on planar

graphs.

Marcin Pilipczuk (UW) Introduction to FPT (2) 26 / 28

Implications for planar graphs

Corollary: A planar graph on n vertices has treewidth O(√

n).I Proof: If it had d

√n + 1e × d

√n + 1e grid as a minor, it would have

n + 1 vertices.I Note: Alternative proof via Lipton-Tarjan planar separator theorem.

I Note: There are e�cient algorithms to compute such a tree

decomposition.

Corollary: Independent Set can be solved in time 2O(√n) on planar

graphs.

Marcin Pilipczuk (UW) Introduction to FPT (2) 26 / 28

Implications for planar graphs

Corollary: A planar graph on n vertices has treewidth O(√

n).I Proof: If it had d

√n + 1e × d

√n + 1e grid as a minor, it would have

n + 1 vertices.I Note: Alternative proof via Lipton-Tarjan planar separator theorem.I Note: There are e�cient algorithms to compute such a tree

decomposition.

Corollary: Independent Set can be solved in time 2O(√n) on planar

graphs.

Marcin Pilipczuk (UW) Introduction to FPT (2) 26 / 28

Implications for planar graphs

Corollary: A planar graph on n vertices has treewidth O(√

n).I Proof: If it had d

√n + 1e × d

√n + 1e grid as a minor, it would have

n + 1 vertices.I Note: Alternative proof via Lipton-Tarjan planar separator theorem.I Note: There are e�cient algorithms to compute such a tree

decomposition.

Corollary: Independent Set can be solved in time 2O(√n) on planar

graphs.

Marcin Pilipczuk (UW) Introduction to FPT (2) 26 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:

I Approximate the treewidth of the graph.I If tw(G ) > c

√k, then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:

I Approximate the treewidth of the graph.I If tw(G ) > c

√k, then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:

I Approximate the treewidth of the graph.I If tw(G ) > c

√k, then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:

I Approximate the treewidth of the graph.I If tw(G ) > c

√k, then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:I Approximate the treewidth of the graph.

I If tw(G ) > c√

k, then answer YES.I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:I Approximate the treewidth of the graph.I If tw(G ) > c

√k , then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:I Approximate the treewidth of the graph.I If tw(G ) > c

√k , then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.

I Running time: 2O(√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: basics

Suppose a planar graph G has a 3d√

ke × 3d√

ke grid minor.

Then picking one vertex from each middle branch set of a 3× 3 basicsquare forms an independent set of size ≥ k .

Hence tw(G ) > c√

k ⇒ YES, for some constant c .

Algorithm for planar graph:I Approximate the treewidth of the graph.I If tw(G ) > c

√k , then answer YES.

I Otherwise, run a DP on the obtained tree decomposition.I Running time: 2O(

√k) · n.

Marcin Pilipczuk (UW) Introduction to FPT (2) 27 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:

I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:

I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:

I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:

I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:

I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:

I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:I Subset problems, like Steiner Tree or Subset TSP.

I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.

I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Bidimensionality: general picture

Works for a number of problems, where there is a correspondencebetween the size of the largest grid minor and the optimum size of thesolution.

Can be applied both to minimization and to maximization problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing,k-Path.

Can be extended to bounded genus and (to some extent) toH-minor-free graphs.

Note: Independent Set is W[1]-hard in general graphs, but it can besolved in subexponential parameterized time on planar graphs.

Limitations:I Subset problems, like Steiner Tree or Subset TSP.I Directed problems, like Directed k-Path.I Weighted problems.

Marcin Pilipczuk (UW) Introduction to FPT (2) 28 / 28

Recommended