introduction to treewidth
TRANSCRIPT
Treewidth 1A: Introduction
Saket Saurabh
The Institute of Mathematical Sciences, India
ASPAK 2014, March 3-8
Motivation
I Most interesting graph problems are NP-complete.
I Many algorithms developed for special classes of graphs.
I Important classes of graphs: decomposable in some way; liketrees.
I Introduction and definition
I Part I: Algorithms for bounded treewidth graphs.
I Part II: Graph-theoretic properties of treewidth.
I Part III: Applications for general graphs.
I Part IV: Irrelevant Vertices – Planar Vertex Deletion.
The Party Problem
The Party ProblemProblem: Invite some colleagues for a party.Maximize: The total fun factor of the invited people.Constraint: Everyone should be having fun.Do not invite a colleague and his direct boss at the sametime!
The Party Problem
The Party ProblemProblem: Invite some colleagues for a party.Maximize: The total fun factor of the invited people.Constraint: Everyone should be having fun.Do not invite a colleague and his direct boss at the sametime!
The Party Problem
The Party ProblemProblem: Invite some colleagues for a party. Maximize:The total fun factor of the invited people.Constraint: Everyone should be having fun.Do not invite a colleague and his direct boss at the sametime!
6
644
5
2I Input: A tree with
weights on thevertices.
I Task: Find anindependent set ofmaximum weight.
The Party Problem
The Party ProblemProblem: Invite some colleagues for a party. Maximize:The total fun factor of the invited people.Constraint: Everyone should be having fun.Do not invite a colleague and his direct boss at the sametime!
2
5
4 4 6
6
I Input: A tree withweights on thevertices.
I Task: Find anindependent set ofmaximum weight.
Solving the Party Problem
Dynamic programming paradigm: We solve a large number ofsubproblems that depend on each other. The answer is a singlesubproblem.
Tv : the subtree rooted at v .A[v ]: max. weight of an independent set in Tv
B[v ]: max. weight of an independent set in Tv that does notcontain v
Goal: determine A[r ] for the root r .
Method:Assume v1, . . . , vk are the children of v . Use the recurrence relations
B[v ] =∑k
i=1 A[vi ]
A[v ] = max{B[v ] , w(v) +∑k
i=1 B[vi ]}
The values A[v ] and B[v ] can be calculated in a bottom-up order(the leaves are trivial).
Solving the Party Problem
Dynamic programming paradigm: We solve a large number ofsubproblems that depend on each other. The answer is a singlesubproblem.
Tv : the subtree rooted at v .A[v ]: max. weight of an independent set in Tv
B[v ]: max. weight of an independent set in Tv that does notcontain v
Goal: determine A[r ] for the root r .
Method:Assume v1, . . . , vk are the children of v . Use the recurrence relations
B[v ] =∑k
i=1 A[vi ]
A[v ] = max{B[v ] , w(v) +∑k
i=1 B[vi ]}
The values A[v ] and B[v ] can be calculated in a bottom-up order(the leaves are trivial).
We continue with Maximum Independent Set, now we try tosolve the problem for an arbitrary graph G . The idea is again toperform dynamic programming, but this time instead of going fromleaves to the root, we go via separating set of vertices.
We continue with Maximum Independent Set, now we try tosolve the problem for an arbitrary graph G . The idea is again toperform dynamic programming, but this time instead of going fromleaves to the root, we go via separating set of vertices.
Let us fix an ordering σ = (v1, v2, . . . , vn) of the vertices of G . Forj ∈ {1, 2, . . . , n}, we use Vj to denote the set of the first j verticesof σ.
We continue with Maximum Independent Set, now we try tosolve the problem for an arbitrary graph G . The idea is again toperform dynamic programming, but this time instead of going fromleaves to the root, we go via separating set of vertices.
Let us fix an ordering σ = (v1, v2, . . . , vn) of the vertices of G . Forj ∈ {1, 2, . . . , n}, we use Vj to denote the set of the first j verticesof σ.
G [Vn] = G . The boundary of Vj is the subset of vertices of Vj
adjacent to vertices outside Vj .
a
b c
d e
f g h
a b
c
d
h
b
cd
e e
f
e
i
g
d
h
ei
a
ab
abc
bc
bcd
bcde
cde
de
deg
degf
deg
de
dehehehihii
Figure : A graph.
For example, for σ = (a, b, c , d , e, f , g , h, i) and j = 5, we haveVj = {a, b, c , d , e} and ∂(Vj) = {d , e}. Every path from v ∈ Vj tou 6∈ Vj contains an edge with one endpoint in Vj and the other inV (G ) \ Vj , and hence every uv -path contains a vertex from ∂(Vj).In other words ∂(Vj) separates Vj from the other vertices of G .
a
b c
d e
f g h
a b
c
d
h
b
cd
e e
f
e
i
g
d
h
ei
a
ab
abc
bc
bcd
bcde
cde
de
deg
degf
deg
de
dehehehihii
Figure : A graph.
For example, for σ = (a, b, c , d , e, f , g , h, i) and j = 5, we haveVj = {a, b, c , d , e} and ∂(Vj) = {d , e}. Every path from v ∈ Vj tou 6∈ Vj contains an edge with one endpoint in Vj and the other inV (G ) \ Vj , and hence every uv -path contains a vertex from ∂(Vj).In other words ∂(Vj) separates Vj from the other vertices of G .
a
b c
d e
f g h
a b
c
d
h
b
cd
e e
f
e
i
g
d
h
ei
a
ab
abc
bc
bcd
bcde
cde
de
deg
degf
deg
de
dehehehihii
Figure : A graph.
For example, for σ = (a, b, c , d , e, f , g , h, i) and j = 5, we haveVj = {a, b, c , d , e} and ∂(Vj) = {d , e}. Every path from v ∈ Vj tou 6∈ Vj contains an edge with one endpoint in Vj and the other inV (G ) \ Vj , and hence every uv -path contains a vertex from ∂(Vj).In other words ∂(Vj) separates Vj from the other vertices of G .
What do we want?
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|.
What do we want?
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|.We want an algorithm for Maximum Independent Set runningin time 2O(tσ)nO(1).
What do we want?
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|.We want an algorithm for Maximum Independent Set runningin time 2O(tσ)nO(1).Let us change track and do something else :D
t-boundaried graphsA t-boundaried graph is a graph with n vertices and at most tspecial vertices X ⊆ {x1, . . . , xt}. X is called the boundary of G .Special vertices are ∂(Vj).
X
x1
x2
x3
t-boundaried graphsA t-boundaried graph is a graph with n vertices and at most tspecial vertices X ⊆ {x1, . . . , xt}. X is called the boundary of G .Special vertices are ∂(Vj).
X
x1
x2
x3
Dynamic Table: Generalization of Party ArgumentFor every subset S of the boundary X , T [S ] is the size of thelargest independent set I such that I ∩ X = S , or −∞ if no such
set exists.
X
x1
x2
x3
Dynamic TableThe size of the largest independent set I such that I ∩ X = S , or−∞ if no such set exists.
X
x1
x2
x3T [∅] 4T [x1] 4T [x2] 3T [x3] 3T [x1, x2] −∞T [x1, x3] 3T [x2, x3] 3T [x1, x2, x3] −∞
Dynamic TableThe size of the largest independent set I such that I ∩ X = S , or−∞ if no such set exists.
X
x1
x2
x3T [∅] 4T [x1] 4T [x2] 3T [x3] 3T [x1, x2] −∞T [x1, x3] 3T [x2, x3] 3T [x1, x2, x3] −∞
Dynamic TableThe size of the largest independent set I such that I ∩ X = S , or−∞ if no such set exists.
X
x1
x2
x3T [∅] 4T [x1] 4T [x2] 3T [x3] 3T [x1, x2] −∞T [x1, x3] 3T [x2, x3] 3T [x1, x2, x3] −∞
Dynamic TableThe size of the largest independent set I such that I ∩ X = S , or−∞ if no such set exists.
X
x1
x2
x3T [∅] 4T [x1] 4T [x2] 3T [x3] 3T [x1, x2] −∞T [x1, x3] 3T [x2, x3] 3T [x1, x2, x3] −∞
Dynamic TableThe size of the largest independent set I such that I ∩ X = S , or−∞ if no such set exists.
X
x1
x2
x3T [∅] 4T [x1] 4T [x2] 3T [x3] 3T [x1, x2] −∞T [x1, x3] 3T [x2, x3] 3T [x1, x2, x3] −∞
IntroduceAdd a vertex xi /∈ X to X . The vertex xi can have arbitraryneighbours in X but no other neighbours.
X
x1
x2
x3
x4
IntroduceAdd a vertex xi /∈ X to X . The vertex xi can have arbitraryneighbours in X but no other neighbours.
X
x1
x2
x3
x4
Introduce: Updating the Table T
Suppose xi (here x4) was introduced into X , with closed
neighbourhood N[xi ]. We update the table T .
T [S ] =
T [S ] if xi /∈ S ,
−∞ if xi ∈ S and S ∩ N(xi) 6= ∅,1 + T [S \ xi ] if xi ∈ S and S ∩ N(xi) = ∅.
Update time: O(2t)
Introduce: Updating the Table T
Suppose xi (here x4) was introduced into X , with closed
neighbourhood N[xi ]. We update the table T .
T [S ] =
T [S ] if xi /∈ S ,
−∞ if xi ∈ S and S ∩ N(xi) 6= ∅,1 + T [S \ xi ] if xi ∈ S and S ∩ N(xi) = ∅.
Update time: O(2t)
Forget OperationPick a vertex xi ∈ X and forget that it is special (it loses the namexi and becomes nameless).
X
x1
x2
x3
x4
Forget OperationPick a vertex xi ∈ X and forget that it is special (it loses the namexi and becomes nameless).
X
x1
x2
x3
x4
Forget OperationPick a vertex xi ∈ X and forget that it is special (it loses the namexi and becomes nameless).
X
x1
x2
x3
Forget: Updating the Table T
Forgetting xi (here x4).
T [S ] = max{T [S ],T [S ∪ xi ]
}Update time: O(2t)
Our algorithm?
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|. We wanted analgorithm for Maximum Independent Set running in time2O(tσ)nO(1).
Our algorithm?
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|. We wanted analgorithm for Maximum Independent Set running in time2O(tσ)nO(1). Did we get this? Let us go to the drawing board allover again.
Defining a graph Parameter
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|.vertex separation number of a graph G
vsn(G ) = min{tσ | σ is a permutation of V (G )}
Defining a graph Parameter
For an ordering σ, let tσ = max1≤j≤n |∂(Vj)|.vertex separation number of a graph G
vsn(G ) = min{tσ | σ is a permutation of V (G )}
What we have shown is that we can find a maximum independentset in a graph in time 2vsn(G) · n if the corresponding permutationis given.
Some Questions:
Two important questions are not answered so far
I How to find a good permutation?
I While the vertex separation number of a tree can be arbitrarilylarge, the dynamic programs we used on trees and on graphswith small separation numbers, are quite similar. Is it possibleto combine both approaches?
Some Questions:
Two important questions are not answered so far
I How to find a good permutation?
I While the vertex separation number of a tree can be arbitrarilylarge, the dynamic programs we used on trees and on graphswith small separation numbers, are quite similar. Is it possibleto combine both approaches?
Some Questions:
Two important questions are not answered so far
I How to find a good permutation?
I While the vertex separation number of a tree can be arbitrarilylarge, the dynamic programs we used on trees and on graphswith small separation numbers, are quite similar. Is it possibleto combine both approaches?
In what follow we provide answers to both questions. The answerto the questions will be given by making use of treedecompositions and treewidth.
Pathwidth
A path decomposition of graph G is a sequence of bagsXi ⊆ V (G ), i ∈ {1, . . . , , r},
(X1,X2, . . . ,Xr )
such that
(P1)⋃
1≤i≤r Xi = V (G ). In other words, every vertex ofG is in some (maybe several) bags.
(P2) For every vw ∈ E (G ), there exists i ∈ {1, . . . , , r}such that bag Xi contains both v and w .
(P3) For every v ∈ V (G ), let i be the minimum and j bethe maximum indices of the bags containing v . Thenfor every k, i ≤ k ≤ j , we have v ∈ Xk . In otherwords, the indices of the bags containing v form aninterval.
Pathwidth
A path decomposition of graph G is a sequence of bagsXi ⊆ V (G ), i ∈ {1, . . . , , r},
(X1,X2, . . . ,Xr )
such that
(P1)⋃
1≤i≤r Xi = V (G ). In other words, every vertex ofG is in some (maybe several) bags.
(P2) For every vw ∈ E (G ), there exists i ∈ {1, . . . , , r}such that bag Xi contains both v and w .
(P3) For every v ∈ V (G ), let i be the minimum and j bethe maximum indices of the bags containing v . Thenfor every k, i ≤ k ≤ j , we have v ∈ Xk . In otherwords, the indices of the bags containing v form aninterval.
Pathwidth
A path decomposition of graph G is a sequence of bagsXi ⊆ V (G ), i ∈ {1, . . . , , r},
(X1,X2, . . . ,Xr )
such that
(P1)⋃
1≤i≤r Xi = V (G ). In other words, every vertex ofG is in some (maybe several) bags.
(P2) For every vw ∈ E (G ), there exists i ∈ {1, . . . , , r}such that bag Xi contains both v and w .
(P3) For every v ∈ V (G ), let i be the minimum and j bethe maximum indices of the bags containing v . Thenfor every k, i ≤ k ≤ j , we have v ∈ Xk . In otherwords, the indices of the bags containing v form aninterval.
Pathwidth
A path decomposition of graph G is a sequence of bagsXi ⊆ V (G ), i ∈ {1, . . . , , r},
(X1,X2, . . . ,Xr )
such that
(P1)⋃
1≤i≤r Xi = V (G ). In other words, every vertex ofG is in some (maybe several) bags.
(P2) For every vw ∈ E (G ), there exists i ∈ {1, . . . , , r}such that bag Xi contains both v and w .
(P3) For every v ∈ V (G ), let i be the minimum and j bethe maximum indices of the bags containing v . Thenfor every k, i ≤ k ≤ j , we have v ∈ Xk . In otherwords, the indices of the bags containing v form aninterval.
PathwidthA path decomposition of graph G is a sequence of bagsXi ⊆ V (G ), i ∈ {1, . . . , , r},
(X1,X2, . . . ,Xr )
such that
(P1)⋃
1≤i≤r Xi = V (G ). In other words, every vertex ofG is in some (maybe several) bags.
(P2) For every vw ∈ E (G ), there exists i ∈ {1, . . . , , r}such that bag Xi contains both v and w .
(P3) For every v ∈ V (G ), let i be the minimum and j bethe maximum indices of the bags containing v . Thenfor every k, i ≤ k ≤ j , we have v ∈ Xk . In otherwords, the indices of the bags containing v form aninterval.
The width of a path decomposition (X1,X2, . . . ,Xr ) ismax1≤i≤r |Xi | − 1. The pathwidth of a graph G , denoted bypw(G ), is the minimum width of a path decomposition of G .
An Example
a
b c
d e
f g h
a b
c
d
h
b
cd
e e
f
e
i
g
d
h
ei
a
ab
abc
bc
bcd
bcde
cde
de
deg
degf
deg
de
dehehehihii
Figure : A graph and its path-decompositions.
Separation Property
LemmaLet (X1,X2, . . . ,Xr ) be a path decomposition. Then for everyj ∈ {1, . . . , r − 1}, ∂(X1 ∪X2 · · · ∪Xj) ⊆ Xj ∩Xj+1. In other words,Xj ∩ Xj+1 separates X1 ∪ X2 · · · ∪ Xj from the other vertices of G .
Proof.On board.
Separation Property
LemmaLet (X1,X2, . . . ,Xr ) be a path decomposition. Then for everyj ∈ {1, . . . , r − 1}, ∂(X1 ∪X2 · · · ∪Xj) ⊆ Xj ∩Xj+1. In other words,Xj ∩ Xj+1 separates X1 ∪ X2 · · · ∪ Xj from the other vertices of G .
Proof.On board.
By above Lemma, an intersection of two consecutive bagsseparates the vertices to the “left” from the vertices to the “right”.This makes the pathwidth to look very similar to the vertexseparation number. Let us formalize these similarities.
Nice Decompositions
It is more convenient to work with nice decompositions.A path decomposition (X1,X2, . . . ,Xr ) of a graph G is nice if
I |X1| = |Xr | = 1, and
I for every i ∈ {1, 2, . . . , r − 1} there is a vertex v of G suchthat either Xi+1 = Xi ∪ {v}, or Xi+1 = Xi \ {v}.
Nice Decompositions
It is more convenient to work with nice decompositions.A path decomposition (X1,X2, . . . ,Xr ) of a graph G is nice if
I |X1| = |Xr | = 1, and
I for every i ∈ {1, 2, . . . , r − 1} there is a vertex v of G suchthat either Xi+1 = Xi ∪ {v}, or Xi+1 = Xi \ {v}.
Thus bags of a nice path decomposition are of the two types. Bagsof the first type are of the form Xi+1 = Xi ∪ {v} and are introducenodes. Bags of the form Xi+1 = Xi \ {v} are forget nodes.
An Example
a
b c
d e
f g h
a b
c
d
h
b
cd
e e
f
e
i
g
d
h
ei
a
ab
abc
bc
bcd
bcde
cde
de
deg
degf
deg
de
dehehehihii
Figure : A graph, its path and nice path decompositions.
An Example
a
b c
d e
f g h
a b
c
d
h
b
cd
e e
f
e
i
g
d
h
ei
a
ab
abc
bc
bcd
bcde
cde
de
deg
degf
deg
de
dehehehihii
Figure : A graph, its path and nice path decompositions.
Exercise: Construct an algorithm that for a given pathdecomposition of width p constructs a nice path decomposition ofwidth p in time O(p2n).
VSN vs PW
It appears that vertex separation number of a graph is exactly thepathwidth of a graph.
VSN vs PW
It appears that vertex separation number of a graph is exactly thepathwidth of a graph.
LemmaFor any graph G, vsn(G ) = pw(G ).
Proof.On the board.
Another Definition of Pathwidth
I The pathwidth(pw(G )) of G is the minimumboundary size needed to construct G from theempty graph using introduce and forgetoperations... -1
I Have seen: Maximum Independent Setcan be solved in O(2pn) time if a constructionof G with p labels is given as input.
Tractable Problems on Graphs of Bounded Pathwidth
Independent Set O(2pn) timeDominating Set O(3pn) timeq Coloring O(qpn) timeMax Cut O(2pn) timeOdd Cycle Transversal O(3pn) timeHamiltonian Cycle O(ppn) timePartition into Triangles O(2pn) time
Pathwidth
I Introduced in the 80’s as a part of Robertsonand Seymours Graph Minors project.
I (Bodlaender and Kloks 96) Graphs of pathwidthk can be recognized in f (k)n time — FPTalgorithm.
Another Operation: Join Operation
Given two t-boundaried graphs G1 and G2, the join operation gluesthem together at the boundaries.
Another Operation: Join Operation
Given two t-boundaried graphs G1 and G2, the join operation gluesthem together at the boundaries.
X
x1
x2
x3
Xx3
x2
x1
Another Operation: Join Operation
Given two t-boundaried graphs G1 and G2, the join operation gluesthem together at the boundaries.
X
x1
x2
x3
Xx3
x2
x1
Another Operation: Join Operation
Given two t-boundaried graphs G1 and G2, the join operation gluesthem together at the boundaries.
X
x1
x2
x3
Xx3
x2
x1
Joining G1 and G2: Updating the Table T for MaximumIndependent Set
Have a table T1 for G1 and T2 for G2, want to compute the tableT for their join.
T [S ] = T1[S ] + T2[S ]− |S |Update time: O(2t)
Tree Decomposition
A tree decomposition of a graph G is a pair T = (T , χ), where Tis a tree and mapping χ assigns to every node t of T a vertexsubset Xt (called a bag) such that
(T1)⋃
t∈V (T ) Xt = V (G ).
(T2) For every vw ∈ E (G ), there exists a node t of Tsuch that bag χ(t) = Xt contains both v and w .
(T3) For every v ∈ V (G ), the set χ−1(v), i.e. the set ofnodes Tv = {t ∈ V (T ) | v ∈ Xt} forms a connectedsubgraph (subtree) of T .
Tree Decomposition
A tree decomposition of a graph G is a pair T = (T , χ), where Tis a tree and mapping χ assigns to every node t of T a vertexsubset Xt (called a bag) such that
(T1)⋃
t∈V (T ) Xt = V (G ).
(T2) For every vw ∈ E (G ), there exists a node t of Tsuch that bag χ(t) = Xt contains both v and w .
(T3) For every v ∈ V (G ), the set χ−1(v), i.e. the set ofnodes Tv = {t ∈ V (T ) | v ∈ Xt} forms a connectedsubgraph (subtree) of T .
Tree Decomposition
A tree decomposition of a graph G is a pair T = (T , χ), where Tis a tree and mapping χ assigns to every node t of T a vertexsubset Xt (called a bag) such that
(T1)⋃
t∈V (T ) Xt = V (G ).
(T2) For every vw ∈ E (G ), there exists a node t of Tsuch that bag χ(t) = Xt contains both v and w .
(T3) For every v ∈ V (G ), the set χ−1(v), i.e. the set ofnodes Tv = {t ∈ V (T ) | v ∈ Xt} forms a connectedsubgraph (subtree) of T .
Tree Decomposition
A tree decomposition of a graph G is a pair T = (T , χ), where Tis a tree and mapping χ assigns to every node t of T a vertexsubset Xt (called a bag) such that
(T1)⋃
t∈V (T ) Xt = V (G ).
(T2) For every vw ∈ E (G ), there exists a node t of Tsuch that bag χ(t) = Xt contains both v and w .
(T3) For every v ∈ V (G ), the set χ−1(v), i.e. the set ofnodes Tv = {t ∈ V (T ) | v ∈ Xt} forms a connectedsubgraph (subtree) of T .
Tree Decomposition
A tree decomposition of a graph G is a pair T = (T , χ), where Tis a tree and mapping χ assigns to every node t of T a vertexsubset Xt (called a bag) such that
(T1)⋃
t∈V (T ) Xt = V (G ).
(T2) For every vw ∈ E (G ), there exists a node t of Tsuch that bag χ(t) = Xt contains both v and w .
(T3) For every v ∈ V (G ), the set χ−1(v), i.e. the set ofnodes Tv = {t ∈ V (T ) | v ∈ Xt} forms a connectedsubgraph (subtree) of T .
The width of tree decomposition T = (T , χ) equalsmaxt∈V (T ) |Xt | − 1, i.e the maximum size of it s bag minus one.The treewidth of a graph G , tw(G ), is the minimum width of atree decomposition of G .
Separation Property
For every pair of adjacent nodes of the path of a pathdecomposition, the intersection of the corresponding bags is aseparator.Treewidth also has similar properties,
Separation Property
For every pair of adjacent nodes of the path of a pathdecomposition, the intersection of the corresponding bags is aseparator.Treewidth also has similar properties,
Separation Property
For every pair of adjacent nodes of the path of a pathdecomposition, the intersection of the corresponding bags is aseparator.Treewidth also has similar properties,
LemmaLet (T , χ) be a tree decomposition and st be an edge of T . Theforest T − st obtained from T by deleting st contains twoconnected components Ts and Tt . Let Vs and Vt be the verticesof G contained in bags of Ts and Tt , correspondingly. Then∂(Vs) ⊆ Xs ∩ Xt . Thus Xs ∩ Xt separates Vs and Vt . In otherwords, every path in G with one endpoint in Vs and one in Vt
contains a vertex from Xs ∩ Xt .
Proof.On board.
A rooted tree decomposition T = (T , χ) of a graph G is nice ifeach of its nodes is one of the following four types.
Leaf node: a node i with |Xi | = 1 and no children.
Introduce node: a node i with exactly one child j such thatXi = Xj ∪ {v} for some vertex v 6∈ Xj ; we say that vis introduced in i .
Forget node: a node i with exactly one child j such thatXi = Xj \ {v} for some vertex v ∈ Xi ; we say that vis forgotten in i .
Join node: a node i with two children j1, j2 such thatXi = Xj1 = Xj2 .
A rooted tree decomposition T = (T , χ) of a graph G is nice ifeach of its nodes is one of the following four types.
Leaf node: a node i with |Xi | = 1 and no children.
Introduce node: a node i with exactly one child j such thatXi = Xj ∪ {v} for some vertex v 6∈ Xj ; we say that vis introduced in i .
Forget node: a node i with exactly one child j such thatXi = Xj \ {v} for some vertex v ∈ Xi ; we say that vis forgotten in i .
Join node: a node i with two children j1, j2 such thatXi = Xj1 = Xj2 .
Every tree decomposition of width t can be turned into a nice treedecomposition of width t in time O(t2 · n).
Treewidth
I The treewidth(tw(G )) of G is the minimumboundary size needed to construct G from theempty graph using introduce, forget and joinoperations... -1
I Have seen: Independent Set can be solvedin O(2tn) time if a construction of G with tlabels is given as input.
In what follows we will see several examples
of dynamic programming on graphs of
bounded treewidth. Any Questions until
now?