Algorithms for hard problems Parameterized complexity Bounded tree width approaches
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].
Algorithms for hard problems Parameterized complexity Bounded tree width approaches
E N D
Presentation Transcript
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]