230 likes | 376 Views
Welcome to the TACO Project Finding tree decompositions. Hans L. Bodlaender Institute of Information and Computing Sciences Utrecht University. Welcome to the TACO project. Treewidth and Combinatorial Optimization Sponsored by NWO – EW Cooperation between
E N D
Welcome to the TACO ProjectFinding tree decompositions Hans L. Bodlaender Institute of Information and Computing Sciences Utrecht University
Welcome to the TACO project • Treewidth and Combinatorial Optimization • Sponsored by NWO – EW • Cooperation between • Department of Quantitative Economics, Maastricht University • Institute of Information and Computing Sciences, Utrecht University • Two PhD students, one post-doc, several staff members • Regular meetings • Guests Finding tree decompositions 22-2-2002
Focus • Using treewidth and tree decompositions to solve problems from combinatorial optimization • Finding treewidth and tree decompositions with help of techniques from combinatorial optimization Finding tree decompositions 22-2-2002
This talk • Historic • Treewidth: definition • How to determine the treewidth • NP-complete • Fixed parameter version • Special graphs • Approximation • Heuristics • Preprocessing Finding tree decompositions 22-2-2002
Birth of treewidth • 18** – 197*: problems that are hard in general can be solved efficiently on trees / series parallel graphs(Ohm, • 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) Finding tree decompositions 22-2-2002
a b b c c b e e f f c f g g d b c a f h d e f g h Definition tree-decomposition • A tree-decomposition of a graph G=(V,E) is a pair ({X(i)|iÎI}, T=(I,F)), such that • for all (v,w)ÎE: there is an i ÎI with v,w Î X(i) • for all vÎ V: the set { i ÎI | v ÎX(i)} forms a connected subtree of T • for all v ÎV: there is an i ÎI with v ÎX(i) • Example: Finding tree decompositions 22-2-2002
Definition treewidth • The widthof a tree-decomposition ({X(i) | i Î I }, T=(I,F)) is. max { |X(i)| | i Î I } - 1. • The treewidthof a graph is the minimum width over all possible tree-decomposition of that graph. • In example: width of tree-decomposition and treewidth of graph are 2. Finding tree decompositions 22-2-2002
Applications • Graph minor theory (Robertson and Seymour) • Many hard problems become linear time solvable when restricted to bounded treewidth • Optimization • Probabilistic networks • … • VLSI-layouts • Compilers • Choleski factorization Finding tree decompositions 22-2-2002
Recognition of treewidth Problem: Treewidth. Instance: Graph G=(V,E), integer k. Question: Is treewidth(G) £ k? Also: constructive variant: if so, build a tree-decomposition of width £ k. Theorem(Arnborg, Proskurowski): Treewidth is NP-complete. Even for: bipartite graphs, graphs of degree at most 9, … Finding tree decompositions 22-2-2002
Fixed parameter variant For each fixed k Problem: Treewidth-k. Instance: Graph G. Question: Is the treewidth of G at most k? • Arnborg, Courneil, Proskurowski 1987: O(nk+2). • Based upon this algorithm, experimental work by Shoiket and Geiger (1997). • Robertson and Seymour with help of graph minors O(n2): • Non-constructive algorithm! • Improvements by Reed, Lagergren, Matousek and Thomas. • Linear time algorithm, 1996; B, using a result with Kloks. • Big constant factor: (n) time… • Hein Röhrig: feasibility study (1998). Finding tree decompositions 22-2-2002
Small values of k • Treewidth 1: trees and forests • Treewidth 2: generalization of series parallel graphs; O(n) time • Treewidth 3: Arnborg, Corneil, Proskurowski; Matousek, Thomas: O(n) • Treewidth 4: Sanders: O(n) • Experiments (Bodlaender, Koster, vd Eijkhof, vd Gaag): treewidth 1, 2, 3 and other rules for preprocessing Finding tree decompositions 22-2-2002
A linear time algorithm for constant k • Step 1. • If v and w have k+2 common neighbors, then the treewidth of G is at most k, if and only if the treewidth of G+ {v,w} is at most k. • In this step, we add all such possible edges. Does not change the answer to the problem! Finding tree decompositions 22-2-2002
Step 2 • Remove all simplicial vertices of degree at most k. • Simplicial = all neighbors form a clique. Does not change the answer to the problem! Finding tree decompositions 22-2-2002
Step 3 • Take any maximal matching and contract these edges Lemma Steps 1 – 3 remove a linear number of vertices Finding tree decompositions 22-2-2002
Step 4 • Recursively solve the problem on the graph obtained in step 3 • Either we have that that graph has treewidth more than k: then the original graph also has treewidth more than k: STOP and output NO • Or we have a tree decomposition of the graph of step 3 Finding tree decompositions 22-2-2002
Step 5 • Undo the contractions of step 3 • The tree decomposition of step 4 can be modified such that sets at most double in size v v w … x x w … Finding tree decompositions 22-2-2002
Step 6 and 7 • Solve the problem with help of an algorithm of B and Kloks: • If we have a tree decomposition of width at most some constant r of a graph G, then for constant k, we can find in (n) time a tree decomposition of G of width at most k, or decide such a tree decomposition does not exist. • Undo the removal of the simplicial vertices in step 2. Finding tree decompositions 22-2-2002
Special graph classes • Polynomial for: forests (1), chordal graphs, circular arc graphs, permutation graphs, distance hereditary graphs, … (many authors) • NP-complete for: bipartite graphs, cobipartite graphs, graphs of degree at most 9, … (many authors) • Open for: planar graphs Finding tree decompositions 22-2-2002
Approximation • Approximation algorithms that are 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(n3 log4nk5 log k) time. Finding tree decompositions 22-2-2002
Heuristics • Heuristics based upon making triangulation (chordal supergraph): LBFS, Maximum cardinality search; or • Choose a vertex v according to some criterion • Turn v’s neighborhood into a clique • Triangulate rest of graph without v • Kjærulff: simulated annealing • Koster’s heuristic • Other: Motte, fill-in, … Finding tree decompositions 22-2-2002
Preprocessing • Rules that `make the problem simpler without essentially changing the answer’: • Removal of simplicial vertices • Rules from treewidth 2, 3 (and 4??) • Almost simplicial vertex rule • Safe separators • Adding necessary edges Finding tree decompositions 22-2-2002
Some conclusions • Much work has been done on finding tree decompositions of small treewidth of given graphs, but: • Theoretical results far outnumber experimental work • Sometimes it is worthwhile to spend much time to find a good tree decomposition Finding tree decompositions 22-2-2002
TACO: finding tree decompositions • Using Integer Linear Programming formulations of treewidth • Preprocessing techniques • Branch and cut • Adding constraints to ILP • Lower bounds • Relaxations (subsets of (I)LP constraints) Finding tree decompositions 22-2-2002