View
244
Download
0
Category
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