Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015."— Presentation transcript:

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

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 [Adapted from J.Flum and M.Grohe] 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. This is equivalent with requirement that for all x,z  T, if y belongs to path between x an z then T x  T z  T y.

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 [Adapted from J.Flum and M.Grohe] If H is a minor of G then we also have tw(H) ≤tw(G). Why?

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 [Adapted from R.Downey and M.Fellows] Example of Tree Decomposition of Width 2

10 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{|T x |  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 treewidth k - there is a subtree T’ 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 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 T x is a leave of T attached under node T y and the underlying graph G‘ of T  T x is a partial k-tree - if T x  T y, we can just ignore (remove) it - otherwise T x = T’ x  T’’ x, where T’ x = T x  T y - 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

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

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

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

19 [Adapted from J.Flum and M.Grohe] p(k) = 32k 3 :) 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. Computing of treewidth – Bodlaender’s theorem

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 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 T 1 and T 2. u – a vertex of some bag from T 1, v – a vertex of some bag from T 2. Then every path in G connecting u and v (possibly with exception of the edge {u,v} itself) intersects with set T x  T y. Separability Lemma [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 [Adapted from J.Flum and M.Grohe] Thus, planar graphs do not have bounded treewidth...

30 Treewidth examples - grids [Adapted from J.Flum and M.Grohe] This is intended as a simple proof, unfortunately the induction step does not seem to work unless the leftmost column (or, equivalently, rightmost column, bottom row or to row) of grid intersects S 

31 ‘Slightly improved proof’ for the existence of C If the leftmost column of k  k grid intersects S, delete it and an empty row and apply induction hypothesis from k  1  k  1 grid. Otherwise one can assume that the set A consisting of the leftmost column and top bottom rows does not intersect S. |A| = 3k  2. Consider k  2  k  2 grid obtained by removing A. and an extra column intersecting S. It can be partitioned into pairs of columns (and, if k is even then, an additional column nonintersecting S) such that: Either both of the contain at most a single element of S (then 2k  3 vertices from them are connect to A) At least one of them does not intersect S (then k  2 vertices from them are connect to A) We get connected set C with at least (k  2)  (k  2)/2+3k  2 = k 2 /2+k elements. Treewidth examples - grids

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

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

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

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

36 Algorithms on structures of bounded tree width [Adapted from J.Flum and M.Grohe] 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).

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

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

39 tw-INDEPENDENT SET Dynamic programming of tree decomposition for tw-IDEPENDENT SET problem: G – graph with treewidth k. 1)Chose an arbitrary rooted tree decomposition T of G with width k and with branching factor 2 or less. 2)For each x  T and each subset S  T x assign label l(S)=|S| if vertices of S form and independent set and l(S)=  1 otherwise. (Number of such subsets S is 2 k or less, for each subset the labeling can be done in time k 2 or less).

40 tw-INDEPENDENT SET 3)Starting from leaves of T recursively for each parent vertex x, child vertices y and z of x, and for each set S  T x with l(S)  1 find two subsets S 1  T y and S 2  T y such that: l(S 1 )  1 and l(S 2 )  1; S, S 1 and S 2 are mutually disjoint and there are no edges between them; L= l(S)+l(S 1 )+l(S 2 ) is maximal; and reassign l(S)=L. (This can be done in time 2 3k or less.) 4)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 S 2 =  and l(S 2 )=0. If no sets S 1 and S 2 with required properties can be found then leave l(S) its initial value. Running time: O(n  2 3k ).

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

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

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

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

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


Download ppt "Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015."

Similar presentations


Ads by Google