Discovering Treewidth Hans L. Bodlaender, Utrecht University.

Slides:



Advertisements
Similar presentations
Problems and Their Classes
Advertisements

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.
Generalization and Specialization of Kernelization Daniel Lokshtanov.
Bayesian Networks, Winter Yoav Haimovitch & Ariel Raviv 1.
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.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
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.
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.
Recent Development on Elimination Ordering Group 1.
Vertex Cover, Dominating set, Clique, Independent set
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Chapter 11: Limitations of Algorithmic Power
Exponential time algorithms Algorithms and networks.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
NP and NP- Completeness Bryan Pearsaul. Outline Decision and Optimization Problems Decision and Optimization Problems P and NP P and NP Polynomial-Time.
1 Refined Search Tree Technique for Dominating Set on Planar Graphs Jochen Alber, Hongbing Fan, Michael R. Fellows, Henning Fernau, Rolf Niedermeier, Fran.
Treewidth Algorithms and Networks. Treewidth2 Overview Historic introduction: Series parallel graphs Dynamic programming on trees Dynamic programming.
Data reduction lower bounds: Problems without polynomial kernels Hans L. Bodlaender Joint work with Downey, Fellows, Hermelin, Thomasse, Yeo.
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.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
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 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
1 Treewidth, partial k-tree and chordal graphs Delpensum INF 334 Institutt fo informatikk Pinar Heggernes Speaker:
Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R 陳建霖 R 宋彥朋 B 楊鈞羽 R 郭慶徵 R
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.
Batch Scheduling of Conflicting Jobs Hadas Shachnai The Technion Based on joint papers with L. Epstein, M. M. Halldórsson and A. Levin.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
An Efficient Algorithm for Enumerating Pseudo Cliques Dec/18/2007 ISAAC, Sendai Takeaki Uno National Institute of Informatics & The Graduate University.
1 Bart Jansen Independent Set Kernelization for a Refined Parameter: Upper and Lower bounds ALGORITMe Staff Colloquium, Utrecht September 10 th, 2010 Joint.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
The Dominating Set and its Parametric Dual  the Dominated Set  Lan Lin prepared for theory group meeting on June 11, 2003.
Fixed parameter algorithms for protein similarity search under mRNA structure constrains A joint work by: G. Blin, G. Fertin, D. Hermelin, and S. Vialette.
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University.
Data Reduction for Graph Coloring Problems Bart M. P. Jansen Joint work with Stefan Kratsch August 22 nd 2011, Oslo.
Exponential time algorithms Algorithms and networks.
Algorithms for hard problems Introduction Juris Viksna, 2015.
Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
Steiner trees: Approximation Algorithms
Algorithms and Networks
Algorithms for Finding Distance-Edge-Colorings of Graphs
Algorithms and Networks
Joint work with Hans Bodlaender
Parameterized complexity Bounded tree width approaches
Algorithms for hard problems
Algorithms and networks
Vertex Cover, Dominating set, Clique, Independent set
Algorithms and Complexity
Bart M. P. Jansen June 3rd 2016, Algorithms for Optimization Problems
Bart Jansen Polynomial Kernels for Hard Problems on Disk Graphs
Approximation and Kernelization for Chordal Vertex Deletion
Algorithms and networks
Boi Faltings and Martin Charles Golumbic
Boi Faltings and Martin Charles Golumbic
Treewidth meets Planarity
Presentation transcript:

Discovering Treewidth Hans L. Bodlaender, Utrecht University

Algoritmiek2 This talk 1.Introduction –Definition of treewidth: a graph parameter –Applications Determining the treewidth of a graph: 2.Exact algorithms 3.Upper bounds 4.Lower bounds 5.Pre-processing Theory and experimental results

Algoritmiek3 I. Introduction History: resistance, laws of Ohm, series parallel graphs Definition of treewidth Applications –Hard problems becoming easier on special graphs –Probabilistic networks –PTAS’s on planar and other graphs Some useful graph theory

Algoritmiek4 Computing the Resistance With the Laws of Ohm R1R1 R2R2 R1R1 R2R

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

Algoritmiek6 A tree structure P PP SS

Algoritmiek7 Network is ‘series parallel graph’ 196*, 197*: many graph problems that are hard for general graphs are easy for –Trees –Series parallel graphs Many well-known problems, e.g., maximum independent set, Hamiltonian circuit, … Using tree structures for solving hard problems on graphs 1 Linear / polynomial time computable e.g.: NP-complete

Algoritmiek8 Birth of treewidth Algorithms for trees and series parallel graphs can be generalized: 198*: problems solvable on decomposable graphs (Bern, Lawler, Wong; Arnborg, Proskurowski; Wimer; Borie; Scheffler, Seese; Courcelle; Lautemann; … ) –Arnborg and Proskurowski: Partial k-trees –Robertson and Seymour: treewidth (in their work on graph minors)

Algoritmiek9 Tree decomposition A tree decomposition: –Tree with a vertex set called bag 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

Algoritmiek10 Tree decomposition A tree decomposition: –Tree with a vertex set called bag 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

Algoritmiek11 Tree decomposition A tree decomposition: –Tree with a vertex set called bag 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

Algoritmiek12 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 Width 2

Algoritmiek13 Useful lemmas If the treewidth is at most k, then G has a vertex of degree at most k. –There is a vertex with all neighbours in the same bag. If W is a clique in G, then a tree decomposition of G has a bag i with W  X i. –Follows from the Helly property for trees

Algoritmiek14 Fill-in 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

Algoritmiek15 Alternative definition 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 2

Algoritmiek16 Constructing tree decomposition for fill-in graph Let v be the first vertex in  Recursively, make tree decomposition for G – v. The neighbours v form a clique in G – v. –There is a bag that contains N(v) N(v)…N(v)… i* and then…

Algoritmiek17 N(v)vN(v)v Constructing tree decomposition for fill-in graph Let v be the first vertex in  Recursively, make tree decomposition for G – v. The neighbours v form a clique in G – v. –There is a bag i* that contains N(v) Add a new bag containing v and its neighbours, making that adjacent to i* N(v)…N(v)… i*

Algoritmiek18 Applications of treewidth Graph minor theory (Robertson and Seymour) Many hard problems become linear time solvable when restricted to bounded treewidth –Optimisation –Probabilistic networks –… VLSI-layouts Compilers Choleski factorisation

Algoritmiek19 Many graphs have small treewidth Trees (1), series parallel graphs (2), Halin graphs (3), outerplanar graphs (2), … Graphs from some applications Many graphs have large treewidth: when containing a large grid, a large clique …

Algoritmiek20 Tree decompositions contain separators If neither v or w belongs to X(i) then {v,w} cannot be an edge of G. So X(i) separates vertices appearing below i in the tree from the rest of G. This allows for dynamic programming algorithms X(i)X(i) vw

Algoritmiek21 Dynamic programming algorithms Many NP-hard (and some PSPACE-hard, or #P- hard) graph problems become polynomial or linear time solvable when restricted to graphs of bounded treewidth –Well known problems like independent set, Hamiltonian circuit, graph colouring –Frequency assignment (Koster et al.)

Algoritmiek22 Dynamic programming with tree decompositions For each bag, a table is computed: –Contains information on subgraph formed by vertices in bag and bags below it –Bag itself separates this subgraph from rest of the graph –Often limited information needed Computing a table needs only tables of children and local information

Algoritmiek23 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

Algoritmiek24

Algoritmiek25

Algoritmiek26 Monadic second order logic Courcelle: Every graph problem that can be formulated in Monadic Second Order Logic can be solved in linear time on graphs with bounded treewidth –Language with constructions: Quantification over vertices, edges, sets of vertices, sets of edges (for all vertex sets W there exists an edge e, such that...) Membership tests, adjacency tests ( {v,w} in E ), Logical operations (and, or, not,...) Extended for optimisation problems (Arnborg et al, Borie et al.)

Algoritmiek27 Problems on planar graphs (1) Method originated by Baker (198*, 1994) PTAS for many problems on planar graphs, and extensions Extended by several authors to more general/other classes of graphs (e.g., SODA 2005: Demaine & Hajigitani – more problems and minor closed classes of graphs, van Leeuwen 2004: unit disk graphs of small density) Here: example: PTAS for independent set on planar graphs.

Algoritmiek28 Ingredient 1: k-outerplanar graphs Label vertices of a plane graph by level. All vertices on exterior face level 1. All vertices on exterior face when vertices of levels 1 … i are removed are on level i+1. Graph is k-outerplanar when at most k levels. Theorem: k-outerplanar graphs have treewidth at most 3k – 1. 3-outerplanar

Algoritmiek29 Independent set on k-outerplanar graphs For fixed k, finding a maximum independent set in a k-outerplanar graph can be solved in linear time (approximately 8 k * n time). –Dynamic programming using tree- decomposition

Algoritmiek30 Baker’s scheme For each i in {1,2, …, k} do –Remove all vertices in levels i, i+k, 2i+k, 3i+k, … –Each connected component of the remaining graph (and hence the remaining graph) is (k-1)- outerplanar. –Solve independent set exactly on the remaining graph. Output the best of the k obtained independent sets.

Algoritmiek31 Quality Look at a maximum independent set S. Each of the k runs deletes a different subset of S. So, there is a run that deletes at most |S|/k vertices from S: one of the runs gives an answer that is at least (k-1)/k times the size of the optimum. Gives: for each , there is an  -approximation algorithm whose time is polynomial in n (but exponential in 1/ .) Method has been extended in several ways.

Algoritmiek32 2. Computing treewidth: exact algorithms For applications: needed to compute the treewidth of a given graph –Interaction between theoretical and experimental work Overview of some results First: exact algorithms

Algoritmiek33 The problem Given: Graph G Question: what is the treewidth of G? Or: Give a tree decomposition with minimum (close to minimum) treewidth Decision problem version: –Given: Graph G, integer k –Question: is the treewidth of G at most k. Both of theoretical and practical interest

Algoritmiek34 Exact methods Arnborg, Corneil, Proskurowski, 1987: problem is NP- complete Special cases have been studied: –NP-complete for graphs of degree at most 9 (B, Thilikos), bipartite graphs, cobipartite graphs, … –Polynomial time algorithms for chordal graphs, circular arc graphs, permutation graphs, distance hereditary graphs –Open: planar graphs. (Polynomial time algorithm for the related problem of branchwidth for planar graphs.)

Algoritmiek35 Graphs with polynomially many separators Bouchitté, Todinca (2002, 2003): Polynomial time algorithm to compute the treewidth of graphs with polynomially many minimal separators. –Using potential maximal cliques –There is always a tree decomposition whose bags are potential maximal cliques –All pmc’s can be listed in time polynomial in nb of minimal separators (Bouchitté Todinca) –Fitting together pmc’s to make tree decomposition

Algoritmiek36 Fixed parameter case Important special case: k fixed Arnborg, Corneil, and Proskurowski (1987): O(n k+2 ) time Linear time algorithm, 1996: B, using a result with Kloks. –Big constant factor:  (n) time… –Hein Röhrig: feasibility study (1998). Special cases: k=1 (forests); k=2, k=3 (Arnborg, Proskurowski, 1986; Matousek, Thomas); k=4 (Sanders). –Work with reduction. To be explained later

Algoritmiek37 Branch and Bound algorithm Gogate, Dechter, 2004: Branch and Bound algorithm for treewidth –Builds a permutation of the vertices: For each vertex v: –Choose v as first vertex and add fill-in edges for v –Run a lower bound heuristic on the new graph and possibly stop this branch –Otherwise recurse (next time finding 2nd vertex, etc.) –Rules to limit nb of branches

Algoritmiek38 3. Upper bound heuristics and approximation algorithms Different methods and heuristics –Finding repeatedly separators –Refining a tree decomposition –Building a permutation Some have guarantees on performance, others not.

Algoritmiek39 Approximation algorithms Polynomial in n, but exponential in k: Robertson, Seymour; Lagergren; Reed; Becker, Geiger, Amir: e.g. –Algorithm that uses O(f(k) n log n) time and either tells treewidth(G)>k, or finds tree decomposition of width at most 6k. Polynomial time algorithm with O(log n) approximation ratio (B,Gilbert,Hafsteinsson,Kloks, 1995). Polynomial time algorithm with O(log k) approximation ratio: Bouchitté, Kratsch, Müller, Todinca; Amir; k optimal treewidth (2001) Amir: 720 log k in O(n 3 log 4 n k 5 log k) time.

Algoritmiek40 Method Procedure BuildTD (Graph G, set W) Find a set S, such that each connected component of G-S has only few vertices of W For each component Z i of G – S do –BuildTD( G[Z  S, S  (W  Z)) Fit together the tree decompositions: S  W S  W  Z 1 ) …

Algoritmiek41 Variants Algorithms of Robertson and Seymour, B et al, Bouchitté et al, Lagergren, Amir differ in how they find separators, what size of separators, and small other details Koster and Bouchitté et al. also have heuristics that start with one trivial tree decomposition (one bag with all vertices), and then refine.

Algoritmiek42 Heuristics with permutations Successful method for upper bound heuristics (Folklore): –Build in some way a permutation  of G. –Make the fill-in (perhaps during building  ) –Translate to tree decomposition Koster, B, van Hoesel 2001: experiments with several such heuristics

Algoritmiek43 Minimum degree heuristic Choose a vertex v in G of minimum degree Make a clique of the neighbours of v Build permutation of G-v (or tree decomposition) Add v in front (or construct tree decomposition of G) N(v)…N(v)… i* N(v)vN(v)v N(v)…N(v)…

Algoritmiek44 Minimum fill-in heuristic Choose a vertex v in G of such that the number of pairs of unadjacent neighbours (= nb of fill-in edges for this vertex v) is as small as possible Make a clique of the neighbours of v Build permutation of G-v (or tree decomposition) Add v in front (or construct tree decomposition of G) N(v)…N(v)… i* N(v)vN(v)v N(v)…N(v)…

Algoritmiek45 Experimental results Minimum degree and minimum fill-in perform very well in practice –Fast –Often best results Not always minimal triangulation –Improve result by using algorithm by Blair, Heggernes, Telle for making minimal triangulations given a triangulation

Algoritmiek46 Other upper bound heuristics Kjaerulff: Simulated annealing for related problem Work on genetic algorithms Clautiaux et al. (2004): Tabu search –Representing solutions by permutations, and using steps that insert vertices on different spots, etc.

Algoritmiek47 4. Lower bounds Useful for –Branch and bound –Informing on quality of upper bounds –Telling uselessness of treewidth approach for some graphs Joint work with Koster and Wolle

Algoritmiek48 Our first lower bounds Minimum degree –If G has a tree decomposition of width k, then it has a vertex of degree at most k. Helpful for improvement: –If H is a subgraph of G, then the treewidth of G is at least the treewidth of H. Degeneracy: k = 0; While G is not the empty graph do –Take a vertex v of minimum degree d –k = max(d,k) –Remove v from G The degeneracy is a lower bound for treewidth

Algoritmiek49 Contraction Contraction of an edge does not increase the treewidth –Take tree decomposition –If we contract {v,w}, replace v and w in each bag by the vertex representing the contraction –This is a tree decomposition of the new graph vwx vv … w... …w … xx … …x …

Algoritmiek50 Lower bound improving upon degeneracy –k = 0; –While G is not the empty graph do Take a vertex v of minimum degree d k = max(d,k) Contract v with a neighbour Different tiebreaking rules –Neighbour of minimum degree –Neighbour of maximum degree (bad) –Neighbour with minimum nb of common neighbours (best) Contraction degeneracy vwx

Algoritmiek51 Some results MMD = degeneracy MMD+ = contraction degeneracy

Algoritmiek52 Improvement: technique by Clautiaux et al Fact : If v and w have k+1 vertex disjoint paths and treewidth of G is at most k, then the treewidth of G + {v,w} is at most k. Initialize lower bound L. Repeat: –G’=G; –While there are non- adjacent v and w with L+1 disjoint paths (or: common neighbours) add the edge {v,w} to G’. –Compute lower bound L’ of G’. –If L’ > L then L++ Until L=L’. vwvw Any method can be used here

Algoritmiek53 MMDcpu MMD, MCSLBcpuMMD+cpu MMD+, MCSLBcpu link link-pp munin munin1-pp pignet pignet2-pp celar06pp graph graph11-pp graph graph13-pp InstanceBest LB_P(*) MMD = degeneracy MMD+ = contraction degeneracy heuristic MCSLB = maximum cardinality search heuristic

Algoritmiek54 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

Algoritmiek55 Example: a 4-clique with one subdivision a b c d e

Algoritmiek56 We can start at any vertex: each vertex has 0 visited neighbours a b c d e a, …

Algoritmiek57 Say, we start at a a b c d e a, … The next vertex must be b, c, or d. It can not e.

Algoritmiek58 After b, we must visit c a b c d e a, b, …

Algoritmiek59 And then d a b c d e a, b, c, …

Algoritmiek60 And finally e a b c d e a, b, c, d, …

Algoritmiek61 We made an MCS-ordering of the graph a b c d e a, b, c, d, e …

Algoritmiek62 On Maximum Cardinality Search Introduced by Tarjan and Yannakakis (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) Lucena (SIAM J. Disc. Math., 2003): method to get lower bound for treewidth

Algoritmiek63 Lucena’s theorem 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. 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: small improvement, slower

Algoritmiek64 Graph or Bear?

Algoritmiek65 Other degree based lower bounds One-but-smallest degree is also lower bound for treewidth Ramachandramurthi: –Minimum over all pairs of non-adjacent vertices v, w of max(degree(v),degree(w) Combining these bounds with contraction gives small improvements to lower bounds LPN+ and LBP+: alternate LBN or LBP-steps with contraction: gives excellent results

Algoritmiek66 5. Pre-processing Translate the graph to a smaller, equivalent instance –Reduction rules –Safe separators Joint work with Koster, van den Eijkhof, van der Gaag

Algoritmiek67 Two types of pre-processing Reduction rules (Simplification) –Rules that change G into a smaller `equivalent’ graph –Maintains a lower bound variable for treewidth low Safe separators (Divide and Conquer) –Splits the graph into two or more smaller parts with help of a separator that is made to a clique

Algoritmiek68 Reduction Safe rules that –Make G smaller –Maintain optimality… Use for pre-processing networks when computing treewidth Input graph G Reduced graph H Solution H PreprocessSolve H Undo preprocessing Solution G

Algoritmiek69 Reduction rules Work by B, Koster, van den Eijkhof, van der Gaag Uses and generalizes ideas and rules from algorithm to recognize graphs of treewidth  3 from Arnborg and Proskurowski

Algoritmiek70 A safe rule Example: series rule: remove a vertex of degree 2 and connect its neighbours Safe for graphs of treewidth  2 v Series rule Original graphReduced graph

Algoritmiek71 Example Reduce Undo reductions a b c d e f g ab e f a b e f c g Solve a b e f ef g f e a b e f g f e b b f f c a b e f g f e b f c d c f

Algoritmiek72 Variable: low (integer, lower bound on treewidth) Graph G Invariant: value of max(low, treewidth(G)) Rules –Locally rewrite G to a graph with fewer vertices –Possibly update or check low We say a rule is safe, when it maintains the invariant. Use only safe rules. Type of rules

Algoritmiek73 Rule 1: Simplicial rule Let v be a simplicial vertex in G Remove v. Set low := max (low, degree(v)) Simplicial rule is safe. Simplicial = Neighbors form a clique

Algoritmiek74 Rule 2: Almost Simplicial rule v is almost simplicial, when the neighbours of v except one form a clique. If v is almost simplicial, and low  degree(v) Then remove v and turn its neighbours into a clique almost simplicial rule

Algoritmiek75 Generalizes: –Series rule (a vertex of degree 2 is almost simplicial) –Triangle rule (Arnborg, Proskurowski) Is safe –tw(G’)  tw(G) –Tree decomposition of G can be made from one of G’ by adding one node with cardinality degree(v)+1  low+1 On the almost simplicial rule … …

Algoritmiek76 Buddy rule If: –Low  3 Then –Remove v 1 and v 2 –Add edges between x 1, x 2 and x 3. buddy rule v1v1 x1x1 v2v2 x1x1 x3x3 x2x2 x2x2 x3x3 Generalization: Buddies rule: d vertices, each with the same d+1 neighbours

Algoritmiek77 (Extended) Cube rule If low  3 Also from work of Arnborg and Proskurowski

Algoritmiek78 Some results for probabilistic networks Sometimes to optimality; often significant reductions

Algoritmiek79 Experiments Some cases could be solved with pre-processing to optimality Often substantial reductions obtained Applied to instances obtained from `real’ probabilistic networks Time needed for pre-processing was small (never more than a few seconds)

Algoritmiek80 Safe separators S is a separator of G, if G-S has more than one connected component S is a minimal separator, if S is a separator and S does not contain another separator as proper subset S

Algoritmiek81 Safe separator S is safe for treewidth, or `a safe separator’ iff –The treewidth of G equals the maximum over the treewidth of all graphs obtained by Taking a connected component W of G-S Take the graph, induced by W  S Make S into a clique in that graph +

Algoritmiek82 Using safe separators Splitting the graph for divide and conquer pre- processing Until no safe separators can be found Slower but more powerful compared to reduction –Most or all reduction rules can be obtained as special cases of the use of safe separators Look for sufficient conditions for separators to be safe

Algoritmiek83 A theorem The following separators are safe: –Separators of size 0, 1 –Minimal separators of size 2 –Minimal separators of size 3 that split off at least two vertices –Clique separators –Minimal `almost clique’ separators: S is an almost clique when S – v is a clique for some v

Algoritmiek84 On safeness of clique separators If S is a clique separator, then the treewidth of G equals the treewidth over all components W of G – S of G[S  W]. Subgraphs cannot have larger treewidth

Algoritmiek85 On safeness of clique separators If S is a clique separator, then the treewidth of G is equals the treewidth over all components W of G – S of G[S  W]. A tree decomposition can be build from tree decompositions of the subgraphs

Algoritmiek86 Splitting on an almost clique separator

Algoritmiek87 An almost clique separator is safe Each smaller graph we look at can be obtained by contracting edges in G –So has treewidth at most the treewidth of G A tree decomposition of G can be build from tree decompositions for the smaller graphs

Algoritmiek88 An almost clique separator is safe Each smaller graph we look at can be obtained by contracting edges in G –So has treewidth at most the treewidth of G A tree decomposition of G can be build from tree decompositions for the smaller graphs

Algoritmiek89 Plan Search safe separators of size 1, 2, 3, clique and almost clique separators. Repeat on parts; possibly combining for speed with reductions. When pre-processing stops, apply other methods: –E.g.: Branch and Bound –Or heuristics. E.g.: apply a heuristic first on each part, and then try to improve (e.g., with B&B) the most expensive parts.

Algoritmiek90 Some results for probabilistic networks

Algoritmiek91 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 in many cases well Algorithms of different types: exact, upper bound heuristics and approximations, lower bounds, pre- processing