430 likes | 586 Views
Algorithms for hard problems Parameterized complexity Bounded tree width approaches. Juris Viksna, 2013. 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].
E N D
Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2013
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: Treewidthtw(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 treewidthk • - there is a subtreeT’ of T with treewidthk that is a tree decomposition of G’
Treewidth - equivalence of definitions • By induction of size of T for trees with • fixed treewidthk • 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’xT’’x, where T’x = Tx Ty • - T’x is a part of (k+1)-clique K (by induction hypothesis) • we need to add each zT’’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’xand replace it with the vertex z generated in previous step remaining T T’x T’x T’’x
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 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 subsetsS1Ty and S2Tysuch 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]
Some treewidth related notions - cutdwidth [Adapted from H.Bodlaender]
Some treewidth related notions - bandwidth [Adapted from H.Bodlaender and J.Bottcher]