welcome to the taco project finding tree decompositions hans l. bodlaender institute of information...
Post on 19-Dec-2015
214 views
TRANSCRIPT
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