Welcome to the TACO Project Finding tree decompositions
description
Transcript of Welcome to the TACO Project Finding tree decompositions
Welcome to the TACO ProjectFinding tree decompositions
Hans L. Bodlaender
Institute of Information and Computing Sciences
Utrecht University
Finding tree decompositions 22-2-2002 2
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 3
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 4
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 5
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 6
Definition tree-decomposition
• A tree-decomposition of a graph G=(V,E) is a pair ({X(i)|iI}, T=(I,F)), such that– for all (v,w)E: there is an i I with v,w X(i)– for all vV: 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:
a b c
de f g
h
ab
b be f
fh
e f cc
f gc
g d
Finding tree decompositions 22-2-2002 7
Definition treewidth
• The width of a tree-decomposition ({X(i) | i I }, T=(I,F)) is.max { |X(i)| | i I } - 1.
• The treewidth of 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 8
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 9
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 10
Fixed parameter variant
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).
For eachfixed k
For eachfixed k
Finding tree decompositions 22-2-2002 11
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 12
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!
Does not change the answer to the problem!
Finding tree decompositions 22-2-2002 13
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!
Does not change the answer to the problem!
Finding tree decompositions 22-2-2002 14
Step 3
• Take any maximal matching and contract these edges
LemmaSteps 1 – 3 remove a linearnumber of vertices
LemmaSteps 1 – 3 remove a linearnumber of vertices
Finding tree decompositions 22-2-2002 15
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 16
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
wx …
xv
w
…
Finding tree decompositions 22-2-2002 17
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 18
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 19
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 log4n k5 log k) time.
Finding tree decompositions 22-2-2002 20
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 21
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 22
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 23
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)