welcome to the taco project finding tree decompositions hans l. bodlaender institute of information...

23
Welcome to the TACO Project Finding tree decompositions Hans L. Bodlaender Institute of Information and Computing Sciences Utrecht University

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

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

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)