Parameterized complexity Bounded tree width approaches Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2017
Tree decomposition of graph The purpose of the “−1” in the definition of the width of a decomposition is to let trees have tree width 1 [Adapted from R.Downey and M.Fellows]
Tree decomposition of graph This is equivalent with requirement that for all x,zT, if y belongs to path between x an z then TxTzTy. This is slightly differently phrased definition of tree decomposition from J.Flum and M.Grohe. However note that also somewhat different notation is used here. [Adapted from J.Flum and M.Grohe]
Tree decomposition - example [Adapted from J.Flum and M.Grohe] Tree decompositions are undirected trees. However sometimes in proofs or applications it may be convenient to regard them as rooted trees; the choice of root in such cases can be arbitrary.
Tree decomposition - some terminology Some other extra bits of notation used by J.Flum and M.Grohe. [Adapted from J.Flum and M.Grohe]
Tree decompositions of subgraphs and minors If H is a minor of G then we also have tw(H) ≤tw(G). Why? [Adapted from J.Flum and M.Grohe]
Treewidth and k-trees [Adapted from R.Downey and M.Fellows]
k-trees - examples [Adapted from R.Downey and M.Fellows]
k-trees - examples Example of Tree Decomposition of Width 2 [Adapted from R.Downey and M.Fellows]
Treewidth – some notes on terminology In slides we have mainly adapted terminology used by R.Downey and M.Fellows: Treewidth tw(G) of graph G is defined as the smallest k such that G is a partial k-tree. The width of tree decomposition k of graph G is maximal size of bag assigned to some vertex of G tree decomposition T minus one: k = max{|Tx|1| xT }. Then we proceed to show that tw(G) = k, where k is minimal width of all the possible G tree decompositions. Note that some inconsistencies might be present regarding this terminology both in slides and textbooks
Treewidth - equivalence of definitions [Adapted from R.Downey and M.Fellows]
Treewidth - equivalence of definitions [Adapted from R.Downey and M.Fellows]
Treewidth - equivalence of definitions [Adapted from R.Downey and M.Fellows]
Treewidth - equivalence of definitions assume we have is a partial k-tree G’ G’ is a subgraph of k-tree G we are building a tree T describing construction of G the root of T represents an initial (k+1)-clique K and is labeled with K vertices each step of “cloning” some (k+1)-clique K’ to (k+1)-clique K’’ is represented by edge from T node labeled with vertices of K’ to a new tree node labeled with vertices from K’’ - T is a tree decomposition of G with treewidth k - there is a subtree T’ of T with treewidth k that is a tree decomposition of G’
Treewidth - equivalence of definitions By induction of size of T for trees with fixed treewidth k if T has single node of width k, the underlying graph G is a subgraph of (k+1)-clique, thus G is a partial k-tree assume Tx is a leave of T attached under node Ty and the underlying graph G‘ of TTx is a partial k-tree if Tx Ty, we can just ignore (remove) it otherwise Tx = T’x T’’x, where T’x = Tx Ty - T’x is a part of (k+1)-clique K (by induction hypothesis) we need to add each z T’’x to a (k+1)-clique and to guarantee that z is connected by edges to all vertices of T’x we start by cloning of K, then in each step remove from K a vertex not from T’x and replace it with the vertex z generated in previous step T’x T’x T’’x remaining T
Computing of treewidth – Bodlaender’s theorem [Adapted from R.Downey and M.Fellows]
Computing of treewidth – Bodlaender’s theorem Sounds almost too good, however running time is (roughly) O(n232k3) [Adapted from R.Downey and M.Fellows]
Computing of treewidth – Bodlaender’s theorem [Adapted from J.Flum and M.Grohe]
Computing of treewidth – Bodlaender’s theorem p(k) = 32k3 :) Although the algorithm is simple and constructive, it is still non-practical. Note that a simple non-constructive proof follows from the fact that graphs with treewidth bounded by k forms an ideal with respect to minor ordering. [Adapted from J.Flum and M.Grohe]
Small tree decompositions [Adapted from J.Flum and M.Grohe]
Small tree decompositions [Adapted from J.Flum and M.Grohe]
Separability Lemma [Adapted from J.Flum and M.Grohe]
Separability Lemma In principle a useful result, unfortunately with a bit confusing statement. So, what does it actually mean? G – a graph. T – a tree decomposition of G. x,y – adjacent vertices of T, removal of edge {x,y} splits T into T1 and T2. u – a vertex of some bag from T1, v – a vertex of some bag from T2. Then every path in G connecting u and v (possibly with exception of the edge {u,v} itself) intersects with set TxTy. [Adapted from J.Flum and M.Grohe]
Treewidth examples – trees and cycles [Adapted from J.Flum and M.Grohe]
Treewidth examples - cliques [Adapted from J.Flum and M.Grohe]
Treewidth examples – k-connected graphs [Adapted from J.Flum and M.Grohe]
Treewidth examples - grids [Adapted from J.Flum and M.Grohe]
Balanced seperators [Adapted from J.Flum and M.Grohe]
Treewidth examples - grids Thus, planar graphs do not have bounded treewidth... [Adapted from J.Flum and M.Grohe]
Treewidth examples - grids [Adapted from J.Flum and M.Grohe]
Treewidth of planar graphs [Adapted from R.Niedermeier]
Treewidth for some types of graphs [Adapted from R.Downey and M.Fellows]
Treewidth for some types of graphs [Adapted from H.Bodlaender]
Treewidth - yet another property [Adapted from J.Flum and M.Grohe]
Algorithms on structures of bounded tree width [Adapted from J.Flum and M.Grohe]
Algorithms on structures of bounded tree width Independent set – a set of pairwise non-adjacent vertices. When parameterized by the size of independent set k the problem is known to be in W[1] – so very unlikely to be FPT. However the problem is FPT when parameterized by tw(G). [Adapted from J.Flum and M.Grohe]
tw-INDEPENDENT SET G – graph with treewidth k. Find maximal independent set of G in time poly(n)f(k).
tw-INDEPENDENT SET [Adapted from R.Downey and M.Fellows]
tw-INDEPENDENT SET Dynamic programming of tree decomposition for tw-IDEPENDENT SET problem: G – graph with treewidth k. Chose an arbitrary rooted tree decomposition T of G with width k and with branching factor 2 or less. For each xT and each subset STx assign label l(S)=|S| if vertices of S form and independent set and l(S)=1 otherwise. (Number of such subsets S is 2k or less, for each subset the labeling can be done in time k2 or less).
tw-INDEPENDENT SET Starting from leaves of T recursively for each parent vertex x, child vertices y and z of x, and for each set STx with l(S)1 find two subsets S1Ty and S2Ty such that: l(S1)1 and l(S2)1; S, S1 and S2 are mutually disjoint and there are no edges between them; L= l(S)+l(S1)+l(S2) is maximal; and reassign l(S)=L. (This can be done in time 23k or less.) Output the largest label l(S) in root of T as a size of maximal independent set. Note. If x has only a single child y, assume S2= and l(S2)=0. If no sets S1 and S2 with required properties can be found then leave l(S) its initial value. Running time: O(n23k).
3-COLOURABILITY [Adapted from J.Flum and M.Grohe]
3-COLOURABILITY [Adapted from J.Flum and M.Grohe]
tw-HAMILTONICITY [Adapted from J.Flum and M.Grohe]
Three ‘similarly sounding’ graph problems [Adapted from R.Downey and M.Fellows]
Three ‘similarly sounding’ graph problems [Adapted from R.Niedermeier]
VERTEX COVER parameterized by treewidth [Adapted from R.Niedermeier]
VERTEX COVER parameterized by treewidth [Adapted from R.Niedermeier]
VERTEX COVER parameterized by treewidth [Adapted from R.Niedermeier]
VERTEX COVER parameterized by treewidth [Adapted from R.Niedermeier]
VERTEX COVER parameterized by treewidth [Adapted from R.Niedermeier]
DOMINATING SET parameterized by tw [Adapted from R.Niedermeier]
DOMINATING SET parameterized by tw [Adapted from R.Niedermeier]
Colour coding [Adapted from R.Niedermeier]
Colour coding [Adapted from R.Niedermeier]
Colour coding [Adapted from R.Niedermeier]
Colour coding [Adapted from R.Niedermeier]
Some treewidth related notions - cutdwidth [Adapted from H.Bodlaender]
Some treewidth related notions - bandwidth [Adapted from H.Bodlaender and J.Bottcher]