1 / 43

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

toby
Download Presentation

Algorithms for hard problems Parameterized complexity Bounded tree width approaches

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2013

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

  3. Tree decomposition of graph This is equivalent with requirement that for all x,zT, if y belongs to path between x an z then TxTzTy. 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]

  4. 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.

  5. Tree decomposition - some terminology Some other extra bits of notation used by J.Flum and M.Grohe. [Adapted from J.Flum and M.Grohe]

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

  7. Treewidth and k-trees [Adapted from R.Downey and M.Fellows]

  8. k-trees - examples [Adapted from R.Downey and M.Fellows]

  9. k-trees - examples Example of Tree Decomposition of Width 2 [Adapted from R.Downey and M.Fellows]

  10. 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| xT}. 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 

  11. Treewidth - equivalence of definitions [Adapted from R.Downey and M.Fellows]

  12. Treewidth - equivalence of definitions [Adapted from R.Downey and M.Fellows]

  13. Treewidth - equivalence of definitions [Adapted from R.Downey and M.Fellows]

  14. 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 treewidthk that is a tree decomposition of G’

  15. 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 TTx 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’xand replace it with the vertex z generated in previous step remaining T T’x T’x T’’x

  16. Computing of treewidth – Bodlaender’s theorem [Adapted from R.Downey and M.Fellows]

  17. Computing of treewidth – Bodlaender’s theorem Sounds almost too good, however running time is (roughly) O(n232k3) [Adapted from R.Downey and M.Fellows]

  18. Computing of treewidth – Bodlaender’s theorem [Adapted from J.Flum and M.Grohe]

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

  20. Small tree decompositions [Adapted from J.Flum and M.Grohe]

  21. Small tree decompositions [Adapted from J.Flum and M.Grohe]

  22. Separability Lemma [Adapted from J.Flum and M.Grohe]

  23. 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 TxTy. [Adapted from J.Flum and M.Grohe]

  24. Treewidth examples – trees and cycles [Adapted from J.Flum and M.Grohe]

  25. Treewidth examples - cliques [Adapted from J.Flum and M.Grohe]

  26. Treewidth examples – k-connected graphs [Adapted from J.Flum and M.Grohe]

  27. Treewidth examples - grids [Adapted from J.Flum and M.Grohe]

  28. Balanced seperators [Adapted from J.Flum and M.Grohe]

  29. Treewidth examples - grids Thus, planar graphs do not have bounded treewidth... [Adapted from J.Flum and M.Grohe]

  30. Treewidth for some types of graphs [Adapted from R.Downey and M.Fellows]

  31. Treewidth for some types of graphs [Adapted from H.Bodlaender]

  32. Treewidth - yet another property [Adapted from J.Flum and M.Grohe]

  33. Algorithms on structures of bounded tree width [Adapted from J.Flum and M.Grohe]

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

  35. tw-INDEPENDENT SET G – graph with treewidth k. Find maximal independent set of G in time poly(n)f(k).

  36. tw-INDEPENDENT SET [Adapted from R.Downey and M.Fellows]

  37. 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 xT and each subset STx 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).

  38. 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 STx with l(S)1 find two subsetsS1Ty and S2Tysuch 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(n23k).

  39. 3-COLOURABILITY [Adapted from J.Flum and M.Grohe]

  40. 3-COLOURABILITY [Adapted from J.Flum and M.Grohe]

  41. tw-HAMILTONICITY [Adapted from J.Flum and M.Grohe]

  42. Some treewidth related notions - cutdwidth [Adapted from H.Bodlaender]

  43. Some treewidth related notions - bandwidth [Adapted from H.Bodlaender and J.Bottcher]

More Related