Presented By: Saleh A. Almugrin * Based and influenced by many works of Hans L. Bodlaender, * Based and influenced by many works of Hans.

Slides:



Advertisements
Similar presentations
Shortest Paths and Treewidth Algorithms and Networks.
Advertisements

Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
Rooted Routing Using Structural Decompositions Jiao Tong University Shanghai, China June 17, 2013.
1 Steiner Tree on graphs of small treewidth Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
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.
From Variable Elimination to Junction Trees
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.
Polynomial-Time Approximation Schemes for Geometric Intersection Graphs Authors: T. Erlebach, L. Jansen, and E. Seidel Presented by: Ping Luo 10/17/2005.
Vertex Cover, Dominating set, Clique, Independent set
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
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:
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
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.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Treewidth Algorithms and Networks. Treewidth2 Overview Historic introduction: Series parallel graphs Dynamic programming on trees Dynamic programming.
Constant Factor Approximation of Vertex Cuts in Planar Graphs Eyal Amir, Robert Krauthgamer, Satish Rao Presented by Elif Kolotoglu.
The Traveling Salesperson Problem Algorithms and Networks.
Fixed Parameter Complexity Algorithms and Networks.
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.
Kernel Bounds for Structural Parameterizations of Pathwidth Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch July 6th 2012, SWAT 2012,
1 Treewidth, partial k-tree and chordal graphs Delpensum INF 334 Institutt fo informatikk Pinar Heggernes Speaker:
Tree Decomposition Benoit Vanalderweireldt Phan Quoc Trung Tram Minh Tri Vu Thi Phuong 1.
Discovering Treewidth Hans L. Bodlaender, Utrecht University.
1 Bart Jansen Independent Set Kernelization for a Refined Parameter: Upper and Lower bounds TACO Day, Utrecht January 12 th, 2011 Joint work with Hans.
TCP Traffic and Congestion Control in ATM Networks
Approximation Algorithms
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
1 Variable Elimination Graphical Models – Carlos Guestrin Carnegie Mellon University October 11 th, 2006 Readings: K&F: 8.1, 8.2, 8.3,
Memory Allocation of Multi programming using Permutation Graph By Bhavani Duggineni.
Data Structures & Algorithms Graphs
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Twenty Years of EPT Graphs: From Haifa to Rostock Martin Charles Golumbic Caesarea Rothschild Institute University of Haifa With thanks to my research.
The Dominating Set and its Parametric Dual  the Dominated Set  Lan Lin prepared for theory group meeting on June 11, 2003.
1 IM.CJCU Hsin-Hung Chou The Node-Searching Problem on Special Graphs 周信宏 長榮大學 資訊管理學系
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.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Data Reduction for Graph Coloring Problems Bart M. P. Jansen Joint work with Stefan Kratsch August 22 nd 2011, Oslo.
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 Parameterized complexity Bounded tree width approaches Juris Viksna, 2015.
Introduction to NP Instructor: Neelima Gupta 1.
Kernel Bounds for Path and Cycle Problems Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch September 8 th 2011, Saarbrucken.
1 Variable Elimination Graphical Models – Carlos Guestrin Carnegie Mellon University October 15 th, 2008 Readings: K&F: 8.1, 8.2, 8.3,
Graphs and Algorithms (2MMD30)
An introduction to chordal graphs and clique trees
Algorithms and Networks
Joint work with Hans Bodlaender
Hans Bodlaender, Marek Cygan and Stefan Kratsch
Parameterized complexity Bounded tree width approaches
PC trees and Circular One Arrangements
Algorithms and networks
Exact Inference Continued
Algorithms and Complexity
Structural graph parameters Part 2: A hierarchy of parameters
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Richard Anderson Lecture 25 NP-Completeness
Algorithms and networks
Boi Faltings and Martin Charles Golumbic
Boi Faltings and Martin Charles Golumbic
Variable Elimination Graphical Models – Carlos Guestrin
Richard Anderson Winter 2019 Lecture 5
Treewidth meets Planarity
Presentation transcript:

Presented By: Saleh A. Almugrin * Based and influenced by many works of Hans L. Bodlaender, * Based and influenced by many works of Hans L. Bodlaender, Institute of Information and Computing Sciences, Utrecht University. More references are available at the end of these slides.

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 2

R1R1 R2R2 R1R1 R2R2 Two resistors in series Two resistors in parallel Introduction Computing the Resistance With the Laws of Ohm This theory traces back to a paper by Kirchhoff from

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

series-parallel graph The following rules build all series-parallel graphs. 1. A graph with two vertices, both terminals, s and t, and a single edge {s, t} is a series-parallel graph. 2. If G1 with terminals s1, t1, and G2 with terminals s2, t2 are series- parallel graphs, then the series composition of G1 and G2 is a series-parallel graph:  take the disjoint union, and then identify t1 and s2. s1 and t2 are the terminals of the new graph. Introduction 5

series-parallel graph 3. If G1 with terminals s1, t1, and G2 with terminals s2, t2 are series- parallel graphs, then the parallel composition of G1 and G2 is a series-parallel graph:  take the disjoint union, and then identify s1 and s2, and identify t1 and t2. these two vertices are the terminals of the new graph. Graphs formed by series composition and parallel composition are series parallel graphs 6 Introduction

A tree structure 7 Introduction P PP SS

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 8

Birth of Treewidth During 80’s, several researchers independently invented similar notions: Partial k-trees Treewidth and tree decompositions Clique trees Recursive graph classes k-Terminal recursive graph families Decomposition trees Context-free graph grammars many problems that are NP-hard on arbitrary graphs becomes linear or polynomial time size solvable on series-parallel graphs. many problems that are NP-hard on arbitrary graphs have linear time algorithms when they are restricted to trees. Often with Dynamic Programming or divide and conquer. 9

Algorithms for trees and series parallel graphs can be generalized: Trees: glue with one vertex (treewidth =1) Series parallel graphs: glue with two terminal vertices (treewidth at most =2) Treewidth: glue graphs with some bounded number k of terminals together. 10 Birth of Treewidth

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 11

tree decomposition : mapping of a graph into a tree. In machine learning, it is also called junction tree, clique tree, or join tree. b d e g c f h a aa e g b c c c d h f f a g 12 Tree decomposition

Given a graph G = (V, E), a tree decomposition is a pair (X, T), where X = {X 1,..., X n } is a family of subsets of V, and T is a tree whose nodes are the subsets X i, satisfying the following properties:  Node Coverage: each graph vertex is associated with at least one tree node called bag  Edge Coverage: for all edges {v,w}: there is a set containing both v and w.  Coherence: for every v: the nodes that contain v form a connected subtree. b d e g c f h a aa e g b c c c d h f f a g 13 Tree decomposition

Given a graph G = (V, E), a tree decomposition is a pair (X, T), where X = {X 1,..., X n } is a family of subsets of V, and T is a tree whose nodes are the subsets X i, satisfying the following properties:  Node Coverage: each graph vertex is associated with at least one tree node called bag  Edge Coverage: for all edges {v,w}: there is a set containing both v and w.  Coherence: for every v: the nodes that contain v form a connected subtree. b d e g c f h a aa e g b c c c d h f f a g 14 Tree decomposition

b d e g c f h a aa e g b c c c d h f f a g 15 Given a graph G = (V, E), a tree decomposition is a pair (X, T), where X = {X 1,..., X n } is a family of subsets of V, and T is a tree whose nodes are the subsets X i, satisfying the following properties:  Node Coverage: each graph vertex is associated with at least one tree node called bag  Edge Coverage: for all edges {v,w}: there is a set containing both v and w.  Coherence: for every v: the nodes that contain v form a connected subtree. Tree decomposition

Another Example: Tree decomposition

Another Example: Tree decomposition

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 18

Definition of treewidth Width of tree decomposition: “the size of the largest bag minus one. ” Treewidth : tw(G)= minimum width over all tree decompositions of G. a b c d e f g h b d e g c f h a aa e g b c c c d h f f a g

Trees have treewidth one Start with the root r Take X r = {r}, for each other node i: X i = { i, parent(i) } T with these bags gives a tree decomposition of width 2 => treewidth = 1 20 a a b b c c d d e e f f a a b a c b d b e a f e Definition of treewidth

“a graph is chordal if each of its cycles of four or more nodes has a chord, which is an edge joining two nodes that are not adjacent in the cycle.” * “An equivalent definition is that any chordless cycles have at most three nodes.” * “a clique in an undirected graph is a subset of its vertices such that every two vertices in the subset are connected by an edge.” ** 21 Definition of treewidth Chordal graphs and a clique * ** *

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 22

Eliminating a vertex: Make its neighborhood a clique and then remove the vertex Different vertex orderings (elimination schemes) are possible. Fill-in: minimum over all elimination schemes of number of added edges (new non-zero’s) Chordal graphs: fill-in 0 Treewidth: minimum over all elimination schemes of maximum degree of vertex when eliminated (min max number of non-zero’s in a row when eliminating row) 23 Gauss elimination as Graph elimination Alternative definitions

Given a permutation  of the vertices, the fill-in graph is made as follows: For i = 1 to n do Add an edge between each pair of higher numbered neighbours of the i th vertex Fill-in Graph Alternative definitions

The treewidth of a graph is the minimum over all permutations of its vertices of the maximum number of higher numbered neighbours of a vertex in the fill-in graph. Treewidth Fill-in Graph Alternative definitions

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 26

Applications of treewidth Graph minor theory (Robertson and Seymour) Optimization Probabilistic networks Expert Systems. Telecommunication Network Design. VLSI-design. Natural Language Processing. Compilers. Choleski Factorisation. maximum independent set. Hamiltonian circuit vertex coloring problem Edge coloring problem Graph Isomorphism …., etc. 27

Algorithms using tree decompositions Step 1: Find a tree decomposition of width bounded by some small k. Heuristics (e.g. minimum degree heuristic) Fast O(n) algorithms for k=2, k=3. Make it nice Step 2. Use dynamic programming, bottom-up on the tree. 28 Applications of treewidth

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? It is NP-complete 29 Applications of treewidth

On trees, this problem can be solved in linear time with dynamic programming: 1. Choose root r. 2. For each v, T(v) is subtree with v as root. 3. 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. 30 Applications of treewidth Weighted Independent Set on Trees

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 ) 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. 31 Applications of treewidth Weighted Independent Set on Trees

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-complete, but linear time on trees. 32 Applications of treewidth

Probabilistic networks Underlying decision support systems Representation of statistical variables and (in)dependencies by a graph Central problem (inference) is #P-complete Lauritzen-Spiegelhalter, 1988: linear time solvable when treewidth (of moralized graph) is bounded Treewidth appears often small for actual probabilistic networks Used in several modern (commercial and freeware) systems 33 Applications of treewidth

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 34

Computing treewidth NP-complete For each fixed k, there is a linear time algorithm to test if the treewidth of a given graph is at most k, and if so, find a corresponding tree decomposition Practical algorithms... Heuristics (works often well) Upper bound. Lower bound. Preprocessing Transform your input into a smaller equivalent input 35

The minimum degree heuristic Repeat: Take vertex v of minimum degree Make neighbours of v a clique Remove v ( and repeat on rest of G) Add v with neighbours to tree decomposition 36 N(v)N(v) N(v)N(v) N(v)N(v) N(v)N(v) vN(v)vN(v) vN(v)vN(v) Computing treewidth

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 37 Computing treewidth

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 38 Computing treewidth

Maximum Cardinality Search Simple mechanism to make a permutation of the vertices of an undirected graph Let the visited degree of a vertex be its number of visited neighbours Pseudocode for MCS: Repeat Visit an unvisited vertex that has the largest visited degree Until all vertices are visited 39 Computing treewidth

a b c d e 40 Maximum Cardinality Search : a 4-clique with one subdivision Computing treewidth

We can start at any vertex: each vertex has 0 visited neighbours a b c d e a, … 41 Computing treewidth Maximum Cardinality Search : a 4-clique with one subdivision

a b c d e a, … The next vertex must be b, c, or d. It can not be e. 42 Computing treewidth Maximum Cardinality Search : a 4-clique with one subdivision

After b, we must visit c. a b c d e a, b, … 43 Computing treewidth Maximum Cardinality Search : a 4-clique with one subdivision

a b c d e a, b, c, … 44 Computing treewidth Maximum Cardinality Search : a 4-clique with one subdivision After c, we must visit d.

a b c d e a, b, c, d, … 45 Computing treewidth After d, we must visit e. Maximum Cardinality Search : a 4-clique with one subdivision

We made an MCS-ordering of the graph: a, b, c, d, e a b c d e 46 Computing treewidth Maximum Cardinality Search : a 4-clique with one subdivision

Introduced in (1984) for recognition of chordal (triangulated) graphs Used as an upper bound heuristic for treewidth (with fill-in edges) Slightly inferior to minimum degree or minimum fill-in (slower and usually not better) If we have an MCS-ordering of G, and a vertex is visited with visited degree k, then the treewidth of G is at least k. ( Lucena’s theorem ) Task: find an MCS-ordering such that the largest visited degree of a vertex (at time of its visit) is as large as possible. NP-hard, but heuristics Running (a few times) an MCS and reporting maximum visited degree gives lower bound for treewidth. 47 Computing treewidth Maximum Cardinality Search

Complexity status for some classes of graphs* Tree/Forest Series-parallel graph Outerplanar graph k-Outerplanar graph Halin graph Constant Chordal /Co-chordal graph Split graph Starlike /k-Starlike chordal Permutation graph Chordal bipartite graph Interval graph Circular arc graph / Circle graph Distance hereditary Polynomial Bounded degree Bipartite graph Cocomparability graph NP-complete Planar graphs Open *An introduction to treewidth, D. Bronner, B. Ries Computing treewidth

Outline Introduction History: resistance, laws of Ohm Series parallel graphs Tree structure Birth of treewidth Tree decomposition Definition of treewidth Alternative definitions Applications of treewidth Computing treewidth Upper bounds Lower bounds Conclusions References 49

Conclusions Treewidth is a useful tool to solve graph problems for several special instances, both for theory and for practice. Theoretical results with additional ideas give practical algorithms that work well in many cases. The interaction between graph theory and algorithm design is an interesting and makes it a very active research area. 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… 50

References I. Bodlaender, H.L. “Treewidth: Structure and Algorithms”. Institute of Information and Computing Sciences, Utrecht University. II. Bodlaender, H.L. “Discovering treewidth”. 31st Conference on Current Trends in Theory and Practice of Computer. Science Liptovsky, Jan, Slovakia, January 22-28, LNCS, vol. 3381, pp. 1–16. Springer, Heidelberg (2005) III. Bodlaender, H.L. “Treewidth: Characterizations, applications, and computations”.In: Fomin, F.V. (ed.) Graph-Theoretic Concepts in Computer Science. 32nd International Workshop, WG 2006, Bergen, Norway, June 22-24, LNCS, vol. 4271, pp. 1–14. Springer, Heidelberg (2006) IV. Bodlaender, H.L., Arie M. C. A. Koster. “Treewidth Computations II. Lower Bounds”. Technical Report UU-CS , September 2010, Department of Information and Computing Sciences, Utrecht University, Utrecht, The Netherlands. V. D. Bronner1, B. Ries. “An introduction to treewidth”. 51