1 / 51

Treewidth

Treewidth. Algorithms and Networks. Overview. Historic introduction: Series parallel graphs Dynamic programming on trees Dynamic programming on series parallel graphs Treewidth Dynamic programming on graphs of small treewidth Finding tree decompositions. R 1. R 2. R 1. R 2.

demi
Télécharger la présentation

Treewidth

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. Treewidth Algorithms and Networks

  2. Overview • Historic introduction: Series parallel graphs • Dynamic programming on trees • Dynamic programming on series parallel graphs • Treewidth • Dynamic programming on graphs of small treewidth • Finding tree decompositions Treewidth

  3. R1 R2 R1 R2 Computing the Resistance With the Laws of Ohm 1789-1854 Two resistorsin series Two resistorsin parallel Treewidth

  4. Repeated use of the rules 6 6 5 2 2 1 7 Has resistance 4 1/6 + 1/2 = 1/(1.5) 1.5 + 1.5 + 5 = 8 1 + 7 = 8 1/8 + 1/8 = 1/4 Treewidth

  5. A tree structure 5 P 7 6 2 S S P P 5 7 1 1 6 2 6 2 6 2 Treewidth

  6. 5 7 6 2 4 1 6 2 Carry on! • Internal structure of graph can be forgotten once we know essential information about it! ¼ + ¼ = ½ Treewidth

  7. Using tree structures for solving hard problems on graphs 1 • Network is ‘series parallel graph’ • 196*, 197*: many problems that are hard for general graphs are easy for • Trees • Series parallel graphs • Many well-known problems e.g.: NP-complete Linear / polynomial time computable Treewidth

  8. Weighted Independent Set • Independent set: set of vertices that are pair wise non-adjacent. • Weighted independent set • Given: Graph G=(V,E), weight w(v) for each vertex v. • Question: What is the maximum total weight of an independent set in G? • NP-hard Treewidth

  9. Weighted Independent Set on Trees • On trees, this problem can be solved in linear time with dynamic programming. • Choose root r. For each v, T(v) is subtree with v as root. • Write A(v) = maximum weight of independent set S in T(v) B(v) = maximum weight of independent set S in T(v), such that vÏ S. Treewidth

  10. Recursive formulations • If v is a leaf: • A(v) = w(v) • B(v) = 0 • If v has children x1, … , xr: A(v) = max{ w(v) + B(x1) + … + B(xr) , A(x1) + … A(xr) } B(v) = A(x1) + … A(xr) Treewidth

  11. Linear time algorithm • Compute A(v) and B(v) for each v, bottom-up. • E.g., in postorder • Constructing corresponding sets can also be done in linear time. Treewidth

  12. Second example:Weighted dominating set • A set of vertices S is dominating, if each vertex in G belongs to S or is adjacent to a vertex in S. • Problem: given a graph G with vertex weights, what is the minimum total weight of a dominating set in G? • Again, NP-hard, but linear time on trees. Treewidth

  13. Subproblems • C(v) = minimum weight of dominating set S of T(v) • D(v) = minimum weight of dominating set S of T(v) with vÎ S. • E(v) = minimum weight of a set S of T(v) that dominates all vertices, except possibly v. Treewidth

  14. Recursive formulations • If v is a leaf, … • If v has children x1, … , xr: • C(v) = the minimum of: • w(v) + E(x1) + … + E(xr) • C(x1) + … + C(xi-1) + D(xi) + C(xi+1) + … + C(xr), over all i, 1 £i£ r. • D(v) = w(v) + E(x1) + … + E(xr) • E(v) = min { w(v) + E(x1) + … + E(xr), C(x1) + … + C(xr) } Treewidth

  15. Gives again a linear time algorithm • Compute bottom up (e.g., postorder), and use another type of dynamic programming for the values C(v). • Constructing sets can also be done in linear time Treewidth

  16. Generalizing to series parallel graphs • A 2-terminal graph is a graph G=(V,E) with two special vertices s and t, its terminals. • A 2-terminal (multi)-graph is series parallel, when it is: • A single edge (s,t). • Obtained by series composition of 2 series parallel graphs • Obtained by parallel composition of 2 series parallel graphs Treewidth

  17. Series composition s1 s1 s2 + s2=t1 s2 t1 t2 t2 Treewidth

  18. Parallel composition s1 s2 s1 s1=s2 + t1 t2 t1 t1=t2 Treewidth

  19. Series Parallel Graphs have an SP-tree 5 P 7 6 2 S S P P 5 7 1 1 6 2 6 2 6 2 Treewidth

  20. G(i) 5 • Associate to each node i of SP tree a 2-terminal graph G(i). 6 2 P S S 6 2 P P 5 7 1 6 2 6 2 Treewidth

  21. Maximum weighted independent set for series parallel graphs • G(i), say with terminals s and t • AA(i) = maximum weight of independent set S of G(i) with s Î S, t Î S • BA(i) = maximum weight of independent set S of G(i) with sÏ S, tÎ S • AB(i) = maximum weight of independent set S of G(i) withsÎ S, tÏ S • BB(i) = maximum weight of independent set S of G(i) with sÏ S, tÏ S Treewidth

  22. Maximum weighted independent set of series parallel graphs 2 • Computing AA, AB, BA, BB for • Leaves of SP-tree: trivial • Series, parallel composition: case analysis, using values for sub-sp-graphs G(i1), G(i2) • E.g., series operation, s’ terminal between i1 and i2 • AA(i) = max {AA(i1)+AA(i2) – w(s’), AB(i1) + BA(i2) } • O(1) time per node of SP-tree: O(n) total. Treewidth

  23. Many generalizations • Many other problems • Other classes of graphs to which we can assign a tree-structure, including • Graphs of treewidth k, for small k. Treewidth

  24. Tree decomposition g a • A tree decomposition: • Tree with a vertex set associated to every node. • For all edges {v,w}: there is a set containing both v and w. • For every v: the nodes that contain v form a connected subtree. h b c f e d a a g c f a g h b c f d c e Treewidth

  25. Tree decomposition g a • A tree decomposition: • Tree with a vertex set associated to every node. • For all edges {v,w}: there is a set containing both v and w. • For every v: the nodes that contain v form a connected subtree. h b c f e d a a g c f a g h b c f d c e Treewidth

  26. Treewidth (definition) g a h • Width of tree decomposition: • Treewidth of graph G: tw(G)= minimum width over all tree decompositions of G. b c f e d a a g c f a g h b c f d c e a b c d e f g h Treewidth

  27. Some graphs have small treewidth • Appearing in some applications (e.g., probabilistic networks) • Trees have treewidth 1 • Series Parallel graphs have treewidth 2. • … Treewidth

  28. Choose a root r Take Xr = {r}, and for each other node i:Xi= {i, parent(i)} T with these bags gives a tree decomposition of width 1 Trees have treewidth one a b e a c d b a e a c b d b Treewidth

  29. Algorithms using tree decompositions • Step 1: Find a tree decomposition of width bounded by some small k. • Discussed later • Step 2. Use dynamic programming, bottom-up on the tree. Treewidth

  30. Determining treewidth • Treewidth problem (decision version): • Given: Graph G, integer k • Question: Is the treewidth of G at most k • Treewidth problem (construction version): • Given: Graph G • Question: construct a tree decomposition of G with minimum width • NP-complete (Arnborg, Proskurowski) • (n) time algorithm for fixed k (B.) • Practical O(n) algorithms for k= 1, 2, 3 (Arnborg, Corneil, Proskurowski), k = 4 (Sanders; Hein and Koster) • Practical O*(2n) algorithm for small graphs (B. et al.) • Many (often good) heuristics • Sometimes by construction, or construction comes from application (trees, sp-graphs, planar graphs with small diameter, …) Treewidth

  31. Separator property w i If both v and w not in Xi, then v and w are not adjacent v Treewidth

  32. Nice tree decompositions • Rooted tree, and four types of nodes i: • Leaf: leaf of tree with |Xi| = 1. • Join: node with two children j, j’ with Xi= Xj = Xj’. • Introduce: node with one child j with Xi = XjÈ {v} for some vertex v • Forget: node with one child j with Xi= Xj- {v} for some vertex v • There is always a nice tree decomposition with the same width. Treewidth

  33. Define G(i) • Nice tree decomposition. • For each node i, G(i) subgraph of G, formed by all nodes in sets Xj, with j=i or j a descendant of i in tree. • Notate: G(i) = ( V(i), E(i) ). Treewidth

  34. Maximum weighted independent set on graphs with treewidth k • For node i in tree decomposition, SÍ Xi write • R(i, S) = maximum weight of independent set W of G(i) with WÇ Xi = S, • – ¥ if such W does not exist Treewidth

  35. Leaf nodes • Let i be a leaf node. Say Xi = {v}. • R(i,{v}) = w(v) • R(i, Æ ) = 0 v G(i) is a graph with one vertex Treewidth

  36. Join nodes • Let i be a join node with children j1, j2. • R(i, S) = R(j1, S) + R(j2, S) – w(S). = + Treewidth

  37. Introduce nodes • Let i be a node with child j, with Xi = Xj È {v}. • Let S Í Xj. • R(i,S) = R(j,S). • If v not adjacent to vertex in S: R(i,SÈ{v})=R(j,S) + w(v) • If v adjacent to vertex in S: R(i,S È {v}) = – ¥. v Treewidth

  38. Forget nodes • Let i be a node with child j, with Xi = Xj- {v}. • Let S Í Xi. • R(i,S) = max (R(j,S), R(j,S È {v})) v v Treewidth

  39. Maximum weighted independent set on graphs with treewidth k • For node i in tree decomposition, SÍ Xi write • R(i, S) = maximum weight of independent set W of G(i) with WÇ Xi = S, – ¥ if such W does not exist • Compute for each node i, a table with all values R(i, …). • Each such table can be computed in O(2k) time when treewidth at most k. • Gives O(n) algorithm when treewidth is (small) constant. Treewidth

  40. Frequency assignment problem • Given: • Graph G=(V,E) • Frequency set F(v) ÍN for all vÎV • Cost function • c(e,r,s) , e = {v,w}, r a frequency of v, s a frequency of w • Question • Find a function g with • For all v Î V: g(v) Î F(v) • The total sum over all edges e={v,w} of c(e,g(v),g(w)) is as small as possible Treewidth

  41. Frequency assignment when treewidth is small • Suppose sets F(v) are small • Suppose G has small treewidth • Algorithm exploits tree decomposition What tables are we computing? • Leaf: trivial • Introduce: … • Forget: projection • Join: sum but subtract double terms Treewidth

  42. General method • Compute a tree decomposition • E.g., with minimum degree heuristic • Make it nice • Use dynamic programming • Works for many problems • Courcelle: those that can be formulated in monadic second order logic • Practical: TSP, frequency assignment, problems on planar graphs like dominating set, probabilistic inference Treewidth

  43. A lemma • Let ({Xi | iÎ I},T) be a tree decomposition of G. Let Z be a clique in G. Then there is a jÎ I with Z Í Xj. • Proof: Take arbitrary root of T. For each vÎ Z, look at highest node containing v. Look at such highpoint of maximum depth. Treewidth

  44. The minimum degree heuristic A heuristic for treewidth Works often well • Repeat: • Take vertex v of minimum degree • Make neighbors of v a clique • Remove v, and repeat on rest of G • Add v with neighbors to tree decomposition N(v) N(v) vN(v) Treewidth

  45. Other heuristics • Minimum fill-in heuristic • Similar to minimum degree heuristic, but takes vertex with smallest fill-in: • Number of edges that must be added when the neighbours of v are made a clique • Other choices of vertices, refining, using separators, … Treewidth

  46. Representation as permutation • A correspondence between tree decompositions and permutations of the vertices • Repeat: remove superfluous leaf bag, or take vertex that appears in 1 leaf bag and no other bag • Make neighbours of v = p(1) into a clique; recursively make tree decomposition of graph – v; add bag with v and neighbours • Used in heuristics, and local search methods (e.g., taboo search, simulated annealing) and genetic algorithms Treewidth

  47. Connection to Gauss eliminating • Consider Gauss elimination on a symmetric matrix • For n by n matrix M, let GM be the graph with n vertices, and edge (i,j) if Mij¹ 0 • If we eliminate a row and corresponding column, effect on G is: • Make neighbors of v a clique • Remove v Treewidth

  48. Application: Probabilistic networks • Lauritzen-Spiegelhalter algorithm for inference on probabilistic networks (belief networks) uses a tree decomposition of the moralized form of the network • Underlying several modern decision support networks Treewidth

  49. Treewidth

  50. Designing a DP algorithm • Methodology: • What are “partial certificates”? • What characterizes a partial certificate (essential for extending to full certificate)? Gives set of subproblems • Give recurrences for subproblems • Find order in which recurrences are evaluated; or use memorization • Give algorithm; possibly save memory or make construction version Treewidth

More Related