Introduction to

Marcin Pilipczuk most slides by Łukasz Kowalik some slides by Marek Cygan and Michał Pilipczuk

Algorytmika, 11.05.2020r.

Marcin Pilipczuk (UW) Introduction to treewidth 1 / 34 Treewidth

Marcin Pilipczuk (UW) Introduction to treewidth 2 / 34 The book Contained in Chapter 7 of

http://parameterized-algorithms.mimuw.edu.pl

Marcin Pilipczuk (UW) Introduction to treewidth 3 / 34 I Principle of .

NP-hard in general, tractable in many special cases. Easy exercise: linear-time on trees.

Motivation of treewidth

Independent Set: given a graph with weights, find the maximum weight of a subset of vertices that are pairwise non-adjacent.

Marcin Pilipczuk (UW) Introduction to treewidth 4 / 34 I Principle of dynamic programming.

Easy exercise: linear-time algorithm on trees.

Motivation of treewidth

Independent Set: given a graph with vertex weights, find the maximum weight of a subset of vertices that are pairwise non-adjacent. NP-hard in general, tractable in many special cases.

Marcin Pilipczuk (UW) Introduction to treewidth 4 / 34 I Principle of dynamic programming.

Motivation of treewidth

Independent Set: given a graph with vertex weights, find the maximum weight of a subset of vertices that are pairwise non-adjacent. NP-hard in general, tractable in many special cases. Easy exercise: linear-time algorithm on trees.

Marcin Pilipczuk (UW) Introduction to treewidth 4 / 34 Motivation of treewidth

Independent Set: given a graph with vertex weights, find the maximum weight of a subset of vertices that are pairwise non-adjacent. 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 treewidth 4 / 34 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.

I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v].

I Tu is the subtree rooted at u. Compute dynamic programming tables:

Recursive formulas:

Answer: A[r]. u

Weighted Independent Set on trees

Root the in an arbitrary vertex r.

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 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.

I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v].

Compute dynamic programming tables:

Recursive formulas:

Answer: A[r].

Weighted Independent Set on trees

Root the tree in an arbitrary vertex r.

I Tu is the subtree rooted at u.

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v].

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:

Answer: A[r].

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:

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v].

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:

Answer: A[r].

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.

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v].

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

Answer: A[r].

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.

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v].

Recursive formulas:

Answer: A[r].

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.

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 I A[u] = max(B[u], C[u]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v]. Answer: A[r].

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:

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v]. Answer: A[r].

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]).

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 P I C[u] = v∈chld(u) A[v]. Answer: A[r].

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]). P I B[u] = w(u) + v∈chld(u) C[v].

u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 Answer: A[r].

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]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v]. u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 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]). P I B[u] = w(u) + v∈chld(u) C[v]. P I C[u] = v∈chld(u) A[v]. Answer: A[r]. u

Marcin Pilipczuk (UW) Introduction to treewidth 5 / 34 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 treewidth 6 / 34 Generalizations of paths and trees

path

pathlike

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

Marcin Pilipczuk (UW) Introduction to treewidth 7 / 34 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 of small treewidth.

Marcin Pilipczuk (UW) Introduction to treewidth 7 / 34 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 of small treewidth.

Marcin Pilipczuk (UW) Introduction to treewidth 7 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 Introduction

Crucial property of small pathwidth/treewidth graphs: separators.

Marcin Pilipczuk (UW) Introduction to treewidth 8 / 34 v1 f (v1)

f (v2) f (v4)

v2 v3 v4 v5 f (v3) f (v5)

Definition (mapping to intervals)

Definition A graph G has pathwidth ≤ pw if there exists a function f : V → intervals such that: 1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅

2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

Marcin Pilipczuk (UW) Introduction to treewidth 9 / 34 f (v1)

f (v2) f (v4)

f (v3) f (v5)

Definition (mapping to intervals)

Definition A graph G has pathwidth ≤ pw if there exists a function f : V → intervals such that: 1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅

2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v1

v2 v3 v4 v5

Marcin Pilipczuk (UW) Introduction to treewidth 9 / 34 Definition (mapping to intervals)

Definition A graph G has pathwidth ≤ pw if there exists a function f : V → intervals such that: 1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅

2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v1 f (v1)

f (v2) f (v4)

v2 v3 v4 v5 f (v3) f (v5)

Marcin Pilipczuk (UW) Introduction to treewidth 9 / 34 Definition (mapping to intervals)

Definition A graph G has pathwidth ≤ pw if there exists a function f : V → intervals such that: 1 if (u, v) ∈ E then f (u) ∩ f (v) 6= ∅

2 ∀x∈Z|{v ∈ V : x ∈ f (v)}| ≤ pw + 1

v1 f (v1)

f (v2) f (v4)

v2 v3 v4 v5 f (v3) f (v5)

Marcin Pilipczuk (UW) Introduction to treewidth 9 / 34 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 .

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

Path decompositions and pathwidth

Graph G = (V , E) Path decomposition of G a d g

e b h abdef bcdef defgh efhi

c f i

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

Marcin Pilipczuk (UW) Introduction to treewidth 10 / 34 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 .

Path decompositions and pathwidth

Graph G = (V , E) Path decomposition of G a d g

e b h abdef bcdef defgh efhi

c f i

Path decomposition is a path of bags (subsets of V ) such that For every edge uv ∈ E some bag contains u and v

Marcin Pilipczuk (UW) Introduction to treewidth 10 / 34 Width of the decomposition: maximum bag size −1 (here: 4). Pathwidth of G: minimum width of a decomposition of G .

Path decompositions and pathwidth

Graph G = (V , E) Path decomposition of G a d g

e b h abdef bcdef defgh efhi

c f i

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!)

Marcin Pilipczuk (UW) Introduction to treewidth 10 / 34 Path decompositions and pathwidth

Graph G = (V , E) Path decomposition of G a d g

e b h abdef bcdef defgh efhi

c f i

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 treewidth 10 / 34 Nice path decomposition Graph G = (V , E) Path decomposition of G

a d g ∅ a ab abd abde abdef bdef

e b h bcdef bdef def defg defgh efgh

c f i 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 iff it has a nice path decomposition of width w (at most 2w times longer).

Marcin Pilipczuk (UW) Introduction to treewidth 11 / 34 Nice path decomposition Graph G = (V , E) Path decomposition of G

a d g ∅ a ab abd abde abdef bdef

e b h bcdef bdef def defg defgh efgh

c f i 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 iff G has nice path decomposition with bags of size p.

Marcin Pilipczuk (UW) Introduction to treewidth 11 / 34 Theorem

The bag Xi is a separator between Vi \ Xi and V (G) \ Vi .

If S is an independent set in G and S0 is an independent set in G[Vi ] with S0 ∩ Xi = S ∩ Xi , then (S \ Vi ) ∪ S0 is an independent set as well.

Dynamic programming for Independent Set

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

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

Marcin Pilipczuk (UW) Introduction to treewidth 12 / 34 If S is an independent set in G and S0 is an independent set in G[Vi ] with S0 ∩ Xi = S ∩ Xi , then (S \ Vi ) ∪ S0 is an independent set as well.

Dynamic programming for Independent Set

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

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

Theorem

The bag Xi is a separator between Vi \ Xi and V (G) \ Vi .

Marcin Pilipczuk (UW) Introduction to treewidth 12 / 34 Dynamic programming for Independent Set

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

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

Theorem

The bag Xi is a separator between Vi \ Xi and V (G) \ Vi .

If S is an independent set in G and S0 is an independent set in G[Vi ] with S0 ∩ Xi = S ∩ Xi , then (S \ Vi ) ∪ S0 is an independent set as well.

Marcin Pilipczuk (UW) Introduction to treewidth 12 / 34 Ψ[i, ∅] = 0 if i = 1. The answer is Ψ[r, ∅]. We follow convention that Ψ[i, f ] = −∞ if f −1(1) is already not independent.

Dynamic programming for Independent Set For every node t of a path decomposition of graph G:

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

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

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 13 / 34 The answer is Ψ[r, ∅]. We follow convention that Ψ[i, f ] = −∞ if f −1(1) is already not independent.

Dynamic programming for Independent Set For every node t of a path decomposition of graph G:

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

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

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 13 / 34 We follow convention that Ψ[i, f ] = −∞ if f −1(1) is already not independent.

Dynamic programming for Independent Set For every node t of a path decomposition of graph G:

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

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

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 13 / 34 Dynamic programming for Independent Set For every node t of a path decomposition of graph G:

Xt = the bag at t, S Vt = i≤t Xi

X1 Vt ··· Xt

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

−1 Ψ[i, f ] = max{|S|: S is an independent set in Vi and S ∩ Xi = f (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 not independent.

Marcin Pilipczuk (UW) Introduction to treewidth 13 / 34 0 0 0 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 ].

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

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

If f (v) = 0 then

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

DP for Independent Set: introduce node

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

Marcin Pilipczuk (UW) Introduction to treewidth 14 / 34 Otherwise, we have

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

If f (v) = 0 then

Ψ[i, f ] = Ψ[i − 1, f |Xi−1 ]. 0 0 0 If f (v) = 1 and there is v ∈ Xi s.t. vv ∈ E(G) and f (v ) = 1, then

Ψ[i, f ] = −∞.

DP for Independent Set: introduce node

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

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 14 / 34 DP for Independent Set: introduce node

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

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

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

If f (v) = 0 then

Ψ[i, f ] = Ψ[i − 1, f |Xi−1 ]. 0 0 0 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 treewidth 14 / 34 There is no need to check edges, since we have already checked them at introduce nodes. That is, even if there is u ∈ Xi such that vu ∈ E(G) and f (u) = 1, then Ψ[i − 1, f [v → 1]] = −∞ and the above recursion reduces to

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

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

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

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

DP for Independent Set: forget node

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

Marcin Pilipczuk (UW) Introduction to treewidth 15 / 34 DP for Independent Set: forget node

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

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

−1 Ψ[i, f ] = max{|S|: S is an independent set in Vi and S ∩ Xi = f (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 at introduce nodes. That is, even if there is u ∈ Xi such that vu ∈ E(G) and f (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 treewidth 15 / 34 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 treewidth 16 / 34 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 .

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

Tree decompositions and treewidth

Graph G = (V , E) of G a d g abde dhge

e b h bdef defh

bcf ehfi c f i

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

Marcin Pilipczuk (UW) Introduction to treewidth 17 / 34 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 .

Tree decompositions and treewidth

Graph G = (V , E) Tree decomposition of G a d g abde dhge

e b h bdef defh

bcf ehfi c f i

Tree decomposition is a tree of bags (subsets of V ) such that For every edge uv ∈ E some bag contains u and v

Marcin Pilipczuk (UW) Introduction to treewidth 17 / 34 Width of the decomposition: maximum bag size −1 (here: 3). Treewidth of G: minimum width of a decomposition of G .

Tree decompositions and treewidth

Graph G = (V , E) Tree decomposition of G a d g abde dhge

e b h bdef defh

bcf ehfi c f i

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!)

Marcin Pilipczuk (UW) Introduction to treewidth 17 / 34 Width of the decomposition: maximum bag size −1 (here: 3). Treewidth of G: minimum width of a decomposition of G .

Tree decompositions and treewidth

Graph G = (V , E) Tree decomposition of G a d g abde dhge

e b h bdef defh

bcf ehfi c f i

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!)

Marcin Pilipczuk (UW) Introduction to treewidth 17 / 34 Width of the decomposition: maximum bag size −1 (here: 3). Treewidth of G: minimum width of a decomposition of G .

Tree decompositions and treewidth

Graph G = (V , E) Tree decomposition of G a d g abde dhge

e b h bdef defh

bcf ehfi c f i

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!)

Marcin Pilipczuk (UW) Introduction to treewidth 17 / 34 Tree decompositions and treewidth

Graph G = (V , E) Tree decomposition of G a d g abde dhge

e b h bdef defh

bcf ehfi c f i

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 treewidth 17 / 34 Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

a d m n

b c o p

e f g q r k h i s u v

l w z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n

b c o p

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n

b c o p

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n

b c o p

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n

b c o p

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n

b c o p

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n

b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n

b c o p T3: Bags containing a vertex are connected e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag

e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n

b c o p

e f g q r PropertyWidth of: decomposition Edge of decomposition: Maximum induces bag size a separation minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r

k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n

b c o p

e f g q r Property: Edge of decomposition induces a separation k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r Width of decomposition: Maximum bag size minus 1 k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n

b c o p

e f g q r Property: Edge of decomposition induces a separation k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r Width of decomposition: Maximum bag size minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 a d m n

b c o p

e f g q r Width of decomposition: Maximum bag size minus 1 k h i s u v Treewidth: Minimum width of a tree decomposition

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Tree decompositions and treewidth

Tree decomposition: Tree of bags a d m n T1: Every vertex is in some bag b c o p T2: Every edge is in some bag T3: Bags containing a vertex are connected e f g q r Property: Edge of decomposition induces a separation k h i s u v

l w z

m, n, o a, b c, d n, o, r

o, q, r b, c, e n, p, r

q, r, u g, q, s f , g, h, i e, f , h q, s, u r, u, v e, h, k g, i, s

h, k, l i, s, w v, z

Marcin Pilipczuk (UW) Introduction to treewidth 18 / 34 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.

Xi = Xj ∪ {v} Xi = Xj \{v} Xi = Xj = Xk i i i

j j j k Introduce node Forget node Join node

Marcin Pilipczuk (UW) Introduction to treewidth 19 / 34 ∅ b Example be d bef bef bef e b h be bef bef

bed bf ef

c f be bcf efh b (Easy) Theorem 1: Graph has a tree bc ef decomposition of width w iff it has a ∅ b e nice tree decomposition of width w (at most 2w times larger). ∅ ∅

Marcin Pilipczuk (UW) Introduction to treewidth 20 / 34 Theorem

The bag Xt is a separator between Vt \ Xt and V (G) \ Vt .

If S is an independent set in G and S0 is an independent set in G[Vt ] with S0 ∩ Xt = S ∩ Xt , then (S \ Vt ) ∪ S0 is an independent set as well.

Dynamic programming for Independent Set cont’d For 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

Marcin Pilipczuk (UW) Introduction to treewidth 21 / 34 If S is an independent set in G and S0 is an independent set in G[Vt ] with S0 ∩ Xt = S ∩ Xt , then (S \ Vt ) ∪ S0 is an independent set as well.

Dynamic programming for Independent Set cont’d For 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

Theorem

The bag Xt is a separator between Vt \ Xt and V (G) \ Vt .

Marcin Pilipczuk (UW) Introduction to treewidth 21 / 34 Dynamic programming for Independent Set cont’d For 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

Theorem

The bag Xt is a separator between Vt \ Xt and V (G) \ Vt .

If S is an independent set in G and S0 is an independent set in G[Vt ] with S0 ∩ Xt = S ∩ Xt , then (S \ Vt ) ∪ S0 is an independent set as well. Marcin Pilipczuk (UW) Introduction to treewidth 21 / 34 Computation in the bottom-up manner. The answer is Ψ[r, ∅]. For leaves Ψ[i, ∅] = 0, as before. Introduce and forget nodes processed as before.

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

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

Dynamic programming for Independent Set cont’d For 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

Marcin Pilipczuk (UW) Introduction to treewidth 22 / 34 Computation in the bottom-up manner. The answer is Ψ[r, ∅]. For leaves Ψ[i, ∅] = 0, as before. Introduce and forget nodes processed as before.

Dynamic programming for Independent Set cont’d For 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.

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

Marcin Pilipczuk (UW) Introduction to treewidth 22 / 34 For leaves Ψ[i, ∅] = 0, as before. Introduce and forget nodes processed as before.

Dynamic programming for Independent Set cont’d For 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.

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 22 / 34 Introduce and forget nodes processed as before.

Dynamic programming for Independent Set cont’d For 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.

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 22 / 34 Dynamic programming for Independent Set cont’d For 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.

−1 Ψ[i, f ] = max{|S|: S is an independent set in Vi and S ∩ Xi = f (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 treewidth 22 / 34 Goal: For f : Xi → {0, 1} compute

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

We have the following:

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

DP for Independent Set: join node

Join node i with children j and k.

Marcin Pilipczuk (UW) Introduction to treewidth 23 / 34 We have the following:

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

DP for Independent Set: join node

Join node i with children j and k.

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

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

Marcin Pilipczuk (UW) Introduction to treewidth 23 / 34 DP for Independent Set: join node

Join node i with children j and k.

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

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

We have the following:

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

Marcin Pilipczuk (UW) Introduction to treewidth 23 / 34 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.

There are tricks to make your life easier:

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 2t nO(1)tO(1).

Formal proofs are tedious, but often necessary.

Marcin Pilipczuk (UW) Introduction to treewidth 24 / 34 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.

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 2t nO(1)tO(1).

Formal proofs are tedious, but often necessary. There are tricks to make your life easier:

Marcin Pilipczuk (UW) Introduction to treewidth 24 / 34 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.

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 2t nO(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.

Marcin Pilipczuk (UW) Introduction to treewidth 24 / 34 I Introduce edges just before forgetting a vertex ⇒ Bags do not have edges when joining.

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 2t nO(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.

Marcin Pilipczuk (UW) Introduction to treewidth 24 / 34 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 2t nO(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 treewidth 24 / 34 I partial k-trees I branchwidth

I : fast FPT algorithms parameterized by treewidth, e.g. 2t · tO(1) · n for IS. I : 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.

Variant used here is due to Robertson and Seymour. Several related width parameters, characterizing the same concept;

Viewpoints:

Treewidth: background

Introduced in 80-s independently in several different contexts.

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 I partial k-trees I branchwidth

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.

Several related width parameters, characterizing the same concept;

Viewpoints:

Treewidth: background

Introduced in 80-s independently in several different contexts. Variant used here is due to Robertson and Seymour.

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 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.

I partial k-trees I branchwidth Viewpoints:

Treewidth: background

Introduced in 80-s independently in several different contexts. Variant used here is due to Robertson and Seymour. Several related width parameters, characterizing the same concept;

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 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.

I branchwidth Viewpoints:

Treewidth: background

Introduced in 80-s independently in several different contexts. Variant used here is due to Robertson and Seymour. Several related width parameters, characterizing the same concept;

I partial k-trees

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 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.

Viewpoints:

Treewidth: background

Introduced in 80-s independently in several different contexts. Variant used here is due to Robertson and Seymour. Several related width parameters, characterizing the same concept;

I partial k-trees I branchwidth

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 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.

Treewidth: background

Introduced in 80-s independently in several different 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:

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 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.

Treewidth: background

Introduced in 80-s independently in several different 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.

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 I Logic: graph classes of bounded treewidth exactly correspond to classes where MSO2 theory is decidable.

Treewidth: background

Introduced in 80-s independently in several different 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.

Marcin Pilipczuk (UW) Introduction to treewidth 25 / 34 Treewidth: background

Introduced in 80-s independently in several different 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 treewidth 25 / 34 Computing treewidth optimally is NP-hard. Moreover, constant-factor approximation is not possible under the Small Set Expansion Conjecture. √ Best known poly-time approximation has apx ratio O( log OPT ). Idea: If we run an FPT algorithm anyways, we can afford FPT running time of computing treewidth.

Computation of treewidth

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

Marcin Pilipczuk (UW) Introduction to treewidth 26 / 34 Moreover, constant-factor approximation is not possible under the Small Set Expansion Conjecture. √ Best known poly-time approximation has apx ratio O( log OPT ). Idea: If we run an FPT algorithm anyways, we can afford FPT running time of computing treewidth.

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to have a decomposition of small width. Computing treewidth optimally is NP-hard.

Marcin Pilipczuk (UW) Introduction to treewidth 26 / 34 √ Best known poly-time approximation has apx ratio O( log OPT ). Idea: If we run an FPT algorithm anyways, we can afford FPT running time of computing treewidth.

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to have a decomposition of small width. Computing treewidth optimally is NP-hard. Moreover, constant-factor approximation is not possible under the Small Set Expansion Conjecture.

Marcin Pilipczuk (UW) Introduction to treewidth 26 / 34 Idea: If we run an FPT algorithm anyways, we can afford FPT running time of computing treewidth.

Computation of treewidth

If we want to run a dynamic programming algorithm, we need to have a decomposition of small width. Computing treewidth optimally is NP-hard. Moreover, constant-factor approximation is not possible under the Small Set Expansion Conjecture. √ Best known poly-time approximation has apx ratio O( log OPT ).

Marcin Pilipczuk (UW) Introduction to treewidth 26 / 34 Computation of treewidth

If we want to run a dynamic programming algorithm, we need to have a decomposition of small width. Computing treewidth optimally is NP-hard. Moreover, constant-factor approximation is not possible under the Small Set Expansion Conjecture. √ Best known poly-time approximation has apx ratio O( log OPT ). Idea: If we run an FPT algorithm anyways, we can afford FPT running time of computing treewidth.

Marcin Pilipczuk (UW) Introduction to treewidth 26 / 34 Algorithms for treewidth Input: Graph G and integer k Robertson-Seymour 4-approximation (GM XIII, ’95) Output: Either conclusion that tw(G) > k, or a tree decomposition of width ≤ 4k + 4 Runtime: O(8k k2 · n2)

Bodlaender’s algorithm (’96) Output: Either conclusion that tw(G) > k, or a tree decomposition of width ≤ k Runtime: kO(k3) · n

BDDFLP algorithm (’13) Output: Either conclusion that tw(G) > k, or a tree decomposition of width ≤ 5k + 4 Runtime: 2O(k) · n

Marcin Pilipczuk (UW) Introduction to treewidth 27 / 34 I Planar graphs. I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

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, edge deletions, and edge contractions. Graph class C is minor-closed if it is closed under taking minors. Examples:

Graph minors

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

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Planar graphs. I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

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, edge deletions, and edge contractions. Graph class C is minor-closed if it is closed under taking minors. Examples:

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there exists a minor model (Iu)u∈V (H) of H in G: I Iu are pairwise disjoint sets of vertices in G;

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Planar graphs. I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

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, edge deletions, and edge contractions. Graph class C is minor-closed if it is closed under taking minors. Examples:

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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;

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Planar graphs. I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

Equivalently, H can be obtained from G using vertex deletions, edge deletions, and edge contractions. Graph class C is minor-closed if it is closed under taking minors. Examples:

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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 .

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Planar graphs. I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

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

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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, edge deletions, and edge contractions.

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Planar graphs. I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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, edge deletions, and edge contractions. Graph class C is minor-closed if it is closed under taking minors. Examples:

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Graphs embeddable into a fixed surface. I Graphs of treewidth at most k.

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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, edge deletions, and edge contractions. Graph class C is minor-closed if it is closed under taking minors. Examples:

I Planar graphs.

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 I Graphs of treewidth at most k.

Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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, edge deletions, 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 fixed surface.

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 Graph minors

Suppose we have two graphs H and G. Then H is a minor of G if there 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, edge deletions, 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 fixed surface. I Graphs of treewidth at most k.

Marcin Pilipczuk (UW) Introduction to treewidth 28 / 34 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.

Wagner’s conjecture: Every minor-closed class is characterized by a finite number of forbidden minors. Robertson, Seymour: This is indeed true.

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar iff it does not contain K5 or K3,3 as a minor.

Marcin Pilipczuk (UW) Introduction to treewidth 29 / 34 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.

Robertson, Seymour: This is indeed true.

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar iff it does not contain K5 or K3,3 as a minor. Wagner’s conjecture: Every minor-closed class is characterized by a finite number of forbidden minors.

Marcin Pilipczuk (UW) Introduction to treewidth 29 / 34 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.

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar iff it does not contain K5 or K3,3 as a minor. Wagner’s conjecture: Every minor-closed class is characterized by a finite number of forbidden minors. Robertson, Seymour: This is indeed true.

Marcin Pilipczuk (UW) Introduction to treewidth 29 / 34 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.

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar iff it does not contain K5 or K3,3 as a minor. Wagner’s conjecture: Every minor-closed class is characterized by a finite 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.

Marcin Pilipczuk (UW) Introduction to treewidth 29 / 34 I Treewidth is one of the main technical tools.

The Graph Minors theorem

Kuratowski, Wagner: Graph is planar iff it does not contain K5 or K3,3 as a minor. Wagner’s conjecture: Every minor-closed class is characterized by a finite 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.

Marcin Pilipczuk (UW) Introduction to treewidth 29 / 34 The Graph Minors theorem

Kuratowski, Wagner: Graph is planar iff it does not contain K5 or K3,3 as a minor. Wagner’s conjecture: Every minor-closed class is characterized by a finite 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 treewidth 29 / 34 Original proof: no elementary bound on g. RST: g(k) = 2O(k5), then a series of improvements. Chekuri&Chuzhoy’13: g(k) = Oe(k99), improved to Oe(k9). Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to treewidth 30 / 34

Grid Minor Theorem

Grid Minor Theorem There exists a function g : N → N such that if tw(G) > g(k), then G contains k × k grid as a minor. RST: g(k) = 2O(k5), then a series of improvements. Chekuri&Chuzhoy’13: g(k) = Oe(k99), improved to Oe(k9). Important: If G is planar (or H-minor-free), then g(k) is linear.

Grid Minor Theorem

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

Original proof: no elementary bound on g.

Marcin Pilipczuk (UW) Introduction to treewidth 30 / 34 Chekuri&Chuzhoy’13: g(k) = Oe(k99), improved to Oe(k9). Important: If G is planar (or H-minor-free), then g(k) is linear.

Grid Minor Theorem

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

Original proof: no elementary bound on g. RST: g(k) = 2O(k5), then a series of improvements.

Marcin Pilipczuk (UW) Introduction to treewidth 30 / 34 Important: If G is planar (or H-minor-free), then g(k) is linear.

Grid Minor Theorem

Grid Minor Theorem There exists a function g : N → N such that if tw(G) > g(k), then G contains 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) = Oe(k99), improved to Oe(k9).

Marcin Pilipczuk (UW) Introduction to treewidth 30 / 34 Grid Minor Theorem

Grid Minor Theorem There exists a function g : N → N such that if tw(G) > g(k), then G contains 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) = Oe(k99), improved to Oe(k9). Important: If G is planar (or H-minor-free), then g(k) is linear.

Marcin Pilipczuk (UW) Introduction to treewidth 30 / 34 √ √ 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 . I Note: There are efficient algorithms to compute such a tree decomposition. √ Corollary: Independent Set can be solved in time 2O( n) on planar graphs.

Implications for planar graphs

√ Corollary: A on n vertices has treewidth O( n).

Marcin Pilipczuk (UW) Introduction to treewidth 31 / 34 I Note: Alternative proof via Lipton-Tarjan planar separator theorem. I Note: There are efficient algorithms to compute such a tree decomposition. √ Corollary: Independent Set can be solved in time 2O( n) on planar graphs.

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.

Marcin Pilipczuk (UW) Introduction to treewidth 31 / 34 I Note: There are efficient algorithms to compute such a tree decomposition. √ Corollary: Independent Set can be solved in time 2O( n) on planar graphs.

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.

Marcin Pilipczuk (UW) Introduction to treewidth 31 / 34 √ Corollary: Independent Set can be solved in time 2O( n) on planar graphs.

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 efficient algorithms to compute such a tree decomposition.

Marcin Pilipczuk (UW) Introduction to treewidth 31 / 34 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 efficient 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 treewidth 31 / 34 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. O( k) I Running time: 2 · n.

Then picking one vertex from each middle branch set of a 3 × 3 basic square forms an independent set of size ≥ k. √ Hence tw(G) > c k ⇒ YES, for some constant c. Algorithm for planar graph:

Bidimensionality: basics

√ √ Suppose a planar graph G has a 3d ke × 3d ke grid minor.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 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. O( k) I Running time: 2 · n.

√ Hence tw(G) > c k ⇒ YES, for some constant c. Algorithm for planar graph:

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 basic square forms an independent set of size ≥ k.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 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. O( k) I Running time: 2 · n.

Algorithm for planar graph:

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 basic square forms an independent set of size ≥ k. √ Hence tw(G) > c k ⇒ YES, for some constant c.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 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. O( k) I Running time: 2 · n.

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 basic square forms an independent set of size ≥ k. √ Hence tw(G) > c k ⇒ YES, for some constant c. Algorithm for planar graph:

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 √ I If tw(G) > c k, then answer YES.

I Otherwise, run a DP√ on the obtained tree decomposition. O( k) I Running time: 2 · n.

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 basic square 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.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 I Otherwise, run a DP√ on the obtained tree decomposition. O( k) I Running time: 2 · n.

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 basic square 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.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 √ O( k) I Running time: 2 · n.

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 basic square 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.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 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 basic square 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. O( k) I Running time: 2 · n.

Marcin Pilipczuk (UW) Introduction to treewidth 32 / 34 I Subset problems, like Steiner Tree or Subset TSP. I Directed problems, like Directed k-Path. I Weighted problems.

Can be applied both to minimization and to maximization problems. Examples: , Feedback Vertex Set, Packing, k-Path. Can be extended to bounded genus and (to some extent) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs. Limitations:

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution.

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Subset problems, like Steiner Tree or Subset TSP. I Directed problems, like Directed k-Path. I Weighted problems.

Examples: Dominating Set, Feedback Vertex Set, Cycle Packing, k-Path. Can be extended to bounded genus and (to some extent) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs. Limitations:

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. Can be applied both to minimization and to maximization problems.

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Subset problems, like Steiner Tree or Subset TSP. I Directed problems, like Directed k-Path. I Weighted problems.

Can be extended to bounded genus and (to some extent) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs. Limitations:

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. Can be applied both to minimization and to maximization problems. Examples: Dominating Set, Feedback Vertex Set, Cycle Packing, k-Path.

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Subset problems, like Steiner Tree or Subset TSP. I Directed problems, like Directed k-Path. I Weighted problems.

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

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. 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) to H-minor-free graphs.

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Subset problems, like Steiner Tree or Subset TSP. I Directed problems, like Directed k-Path. I Weighted problems.

Limitations:

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. 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) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs.

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Subset problems, like Steiner Tree or Subset TSP. I Directed problems, like Directed k-Path. I Weighted problems.

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. 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) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs. Limitations:

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Directed problems, like Directed k-Path. I Weighted problems.

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. 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) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs. Limitations:

I Subset problems, like Steiner Tree or Subset TSP.

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 I Weighted problems.

Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. 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) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved in subexponential parameterized time on planar graphs. Limitations:

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

Marcin Pilipczuk (UW) Introduction to treewidth 33 / 34 Bidimensionality: general picture

Works for a number of problems, where there is a correspondence between the size of the largest grid minor and the optimum size of the solution. 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) to H-minor-free graphs. Note: Independent Set is W[1]-hard in general graphs, but it can be solved 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 treewidth 33 / 34 Thanks and credits

Thanks!

Credits: Slides mostly compiled from previous lectures of:

I Łukasz Kowalik I Marek Cygan I Michał Pilipczuk Some nice figures by Felix Reidl. Previous version of slides prepared for Gdańsk Summer School of Advanced Science on Algorithms for Discrete Optimization 2019.

Marcin Pilipczuk (UW) Introduction to treewidth 34 / 34