Treewidth Algorithms and Networks. Treewidth2 Overview Historic introduction: Series parallel graphs Dynamic programming on trees Dynamic programming.

Slides:



Advertisements
Similar presentations
Solving connectivity problems parameterized by treewidth in single exponential time Marek Cygan, Marcin Pilipczuk, Michal Pilipczuk Jesper Nederlof, Dagstuhl.
Advertisements

Chapter 5: Tree Constructions
Shortest Paths and Treewidth Algorithms and Networks.
Minimum Vertex Cover in Rectangle Graphs
Presented By: Saleh A. Almugrin * Based and influenced by many works of Hans L. Bodlaender, * Based and influenced by many works of Hans.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
1 Steiner Tree on graphs of small treewidth Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Junction Trees And Belief Propagation. Junction Trees: Motivation What if we want to compute all marginals, not just one? Doing variable elimination for.
Approximation Algorithms Chapter 5: k-center. Overview n Main issue: Parametric pruning –Technique for approximation algorithms n 2-approx. algorithm.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
Probabilistic networks Inference and Other Problems Hans L. Bodlaender Utrecht University.
Junction Trees: Motivation Standard algorithms (e.g., variable elimination) are inefficient if the undirected graph underlying the Bayes Net contains cycles.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Minimum Vertex Cover in Rectangle Graphs R. Bar-Yehuda, D. Hermelin, and D. Rawitz 1.
16:36MCS - WG20041 On the Maximum Cardinality Search Lower Bound for Treewidth Hans Bodlaender Utrecht University Arie Koster ZIB Berlin.
FPT algorithmic techniques: Treewidth (1)
Welcome to the TACO Project Finding tree decompositions Hans L. Bodlaender Institute of Information and Computing Sciences Utrecht University.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
Utrecht, february 22, 2002 Applications of Tree Decompositions Stan van Hoesel KE-FdEWB Universiteit Maastricht
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Coloring Algorithms and Networks. Coloring2 Graph coloring Vertex coloring: –Function f: V  C, such that for all {v,w}  E: f(v)  f(w) Chromatic number.
Exponential time algorithms Algorithms and networks.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
B. Li F. Moataz N. Nisse K. Suchan 1 Minimum Size Tree Decompositions 1, Inria, France 2, University Nice Sophia Antipolis, CNRS, I3S, France 3, Institute.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Fixed Parameter Complexity Algorithms and Networks.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
九大数理集中講義 Comparison, Analysis, and Control of Biological Networks (7) Partial k-Trees, Color Coding, and Comparison of Graphs Tatsuya Akutsu Bioinformatics.
Kernel Bounds for Structural Parameterizations of Pathwidth Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch July 6th 2012, SWAT 2012,
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Treewidth, partial k-tree and chordal graphs Delpensum INF 334 Institutt fo informatikk Pinar Heggernes Speaker:
Discovering Treewidth Hans L. Bodlaender, Utrecht University.
TCP Traffic and Congestion Control in ATM Networks
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Euler paths and tours.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Partitioning Graphs of Supply and Demand Generalization of Knapsack Problem Takao Nishizeki Tohoku University.
Memory Allocation of Multi programming using Permutation Graph By Bhavani Duggineni.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Chapter 10 Graph Theory Eulerian Cycle and the property of graph theory 10.3 The important property of graph theory and its representation 10.4.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
Foundations of Constraint Processing, Spring 2009 Structure-Based Methods: An Introduction 1 Foundations of Constraint Processing CSCE421/821, Spring 2009.
Exponential time algorithms Algorithms and networks.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
Algorithms for hard problems Introduction Juris Viksna, 2015.
Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015.
Spanning Tree Definition:A tree T is a spanning tree of a graph G if T is a subgraph of G that contains all of the vertices of G. A graph may have more.
Week 11 - Wednesday.  What did we talk about last time?  Graphs  Paths and circuits.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Graphs and Algorithms (2MMD30)
Algorithms for Finding Distance-Edge-Colorings of Graphs
Algorithms and Networks
Hans Bodlaender, Marek Cygan and Stefan Kratsch
Parameterized complexity Bounded tree width approaches
12. Graphs and Trees 2 Summary
Lectures on Network Flows
Algorithms and networks
Exact Inference Continued
Algorithms and Complexity
Graph Algorithms Using Depth First Search
Structural graph parameters Part 2: A hierarchy of parameters
Dissertation for the degree of Philosophiae Doctor (PhD)
Richard Anderson Lecture 25 NP-Completeness
Algorithms and networks
Boi Faltings and Martin Charles Golumbic
Introduction Wireless Ad-Hoc Network
Exact Inference Continued
Presentation transcript:

Treewidth Algorithms and Networks

Treewidth2 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

Treewidth3 Computing the Resistance With the Laws of Ohm R1R1 R2R2 R1R1 R2R2 Two resistors in series Two resistors in parallel

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

Treewidth5 A tree structure P PP SS

Treewidth6 Carry on! Internal structure of graph can be forgotten once we know essential information about it! ¼ + ¼ = ½

Treewidth7 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 Using tree structures for solving hard problems on graphs 1 Linear / polynomial time computable Linear / polynomial time computable e.g.: NP-complete e.g.: NP-complete

Treewidth8 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

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

Treewidth10 Recursive formulations If v is a leaf: –A(v) = w(v) –B(v) = 0 If v has children x 1, …, x r : A(v) = max{ w(v) + B(x 1 ) + … + B(x r ), A(x 1 ) + … A(x r ) } B(v) = A(x 1 ) + … A(x r )

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

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

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

Treewidth14 Recursive formulations If v is a leaf, … If v has children x 1, …, x r : –C(v) = the minimum of: w(v) + E(x 1 ) + … + E(x r ) C(x 1 ) + … + C(x i-1 ) + D(x i ) + C(x i+1 ) + … + C(x r ), over all i, 1  i  r. –D(v) = w(v) + E(x 1 ) + … + E(x r ) –E(v) = min { w(v) + E(x 1 ) + … + E(x r ), C(x 1 ) + … + C(x r ) }

Treewidth15 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

Treewidth16 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

Treewidth17 Series composition s1s1 s2s2 t1t1 t2t2 s1s1 s2 s 2 =t 1 t2t2 +

Treewidth18 Parallel composition s2s2 t2t2 s1s1 t1t1 s1 t1 s 1 =s 2 t 1 =t 2 +

Treewidth19 Series Parallel Graphs have an SP-tree P PP SS

Treewidth20 G(i) Associate to each node i of SP tree a 2-terminal graph G(i). P PP SS

Treewidth21 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) with s  S, t  S BB(i) = maximum weight of independent set S of G(i) with s  S, t  S

Treewidth22 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(i 1 ), G(i 2 ) –E.g., series operation, s’ terminal between i 1 and i 2 AA(i) = max {AA(i 1 )+AA(i 2 ) – w(s’), AB(i 1 ) + BA(i 2 ) } O(1) time per node of SP-tree: O(n) total.

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

Treewidth24 Tree decomposition 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. b c d e f aa b c c c d e h hf f a g g a g

Treewidth25 Tree decomposition 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. b c d e f aa b c c c d e h hf f a g g a g

Treewidth26 Treewidth (definition) Width of tree decomposition: Treewidth of graph G: tw(G)= minimum width over all tree decompositions of G. b c d e f aa b c c c d e h hf f a g g ab c d e f gh g a

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

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

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

Treewidth30 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*(2 n ) 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, …)

Treewidth31 Separator property i v w If both v and w not in X i, then v and w are not adjacent

Treewidth32 Nice tree decompositions Rooted tree, and four types of nodes i: –Leaf: leaf of tree with |X i | = 1. –Join: node with two children j, j’ with X i = X j = X j’. –Introduce: node with one child j with X i = X j  {v} for some vertex v –Forget: node with one child j with X i = X j  {v} for some vertex v There is always a nice tree decomposition with the same width.

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

Treewidth34 Maximum weighted independent set on graphs with treewidth k For node i in tree decomposition, S  X i write –R(i, S) = maximum weight of independent set W of G(i) with W  X i = S, –  if such W does not exist

Treewidth35 Leaf nodes Let i be a leaf node. Say X i = {v}. R(i,{v}) = w(v) R(i,  ) = 0 v G(i) is a graph with one vertex

Treewidth36 Join nodes Let i be a join node with children j 1, j 2. R(i, S) = R(j 1, S) + R(j 2, S) – w(S). + =

Treewidth37 Introduce nodes Let i be a node with child j, with X i = X j  {v}. Let S  X j. 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

Treewidth38 Forget nodes Let i be a node with child j, with X i = X j  {v}. Let S  X i. R(i,S) = max (R(j,S), R(j,S  {v})) v v

Treewidth39 Maximum weighted independent set on graphs with treewidth k For node i in tree decomposition, S  X i write –R(i, S) = maximum weight of independent set W of G(i) with W  X i = 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(2 k ) time when treewidth at most k. Gives O(n) algorithm when treewidth is (small) constant.

Treewidth40 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

Treewidth41 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

Treewidth42 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

Treewidth43 A lemma Let ({X i | i  I},T) be a tree decomposition of G. Let Z be a clique in G. Then there is a j  I with Z  X j. –Proof: Take arbitrary root of T. For each v  Z, look at highest node containing v. Look at such highpoint of maximum depth.

Treewidth44 The minimum degree heuristic 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) N(v)N(v) vN(v)vN(v) A heuristic for treewidth Works often well A heuristic for treewidth Works often well

Treewidth45 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, …

Treewidth46 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 =  (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

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

Treewidth48 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

Treewidth49

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

Treewidth51 Conclusions Dynamic programming for graphs with tree- like structure Works for a large collection of problems, as long as there is (and we can find) such a structure…