Discovering Treewidth Hans L. Bodlaender, Utrecht University

Preview:

Citation preview

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 andexperimental

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

21

111

RRR21 RRR

R1 R2 R1

R2

1789-1854

Algoritmiek5

Repeated use of the rules

6

2

6

25

1

Has resistance 4

1/6 + 1/2 = 1/(1.5)1.5 + 1.5 + 5 = 81 + 7 = 81/8 + 1/8 = 1/4

7

Algoritmiek6

A tree structureP

6 2

6 25

17

P P

S S

5

6 62 2

7 1

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 / polynomialtime 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 ef

a ab c c

cde

h

hf fa 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 ef

a ab c c

cde

h

hf fa 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 ef

a ab c c

cde

h

hf fa 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 ef

a ab c c

cde

h

hf fa g g

a b cd e f

g h

ga

1||max iIi XWidth 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 Xi.

– 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 ith vertex

12

3

45

12

3

45

12

3

45

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.

12

3

45

12

3

45

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)…

i*

and then…

Algoritmiek17

N(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)…

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)

v

w

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

1 2

3

4

6

5

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 8k * 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(nk+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(n3 log4n k5 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 Zi of G – S do

– BuildTD( G[Z S, S (W Z))

• Fit together the tree decompositions:

S W

SWZ1)…

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)…

i*

N(v)v

N(v)…

i*

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)…

i*

N(v)v

N(v)…

i*

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

v w

x

v v… w

...

… w…

x x…

...

… 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

v

w

x

Algoritmiek51

Some resultsInstance |V| |E| MMD cpu MMD+ cpulink 724 1738 4 0.00 8 0.02link-pp 308 1158 6 0.00 8 0.01munin1 189 366 4 0.00 8 0.01munin1-pp 66 188 4 0.00 8 0.00pignet2 3032 7264 4 0.02 29 0.15pignet2-pp 1024 3774 5 0.00 29 0.10celar06pp 82 327 10 0.00 11 0.00graph11 340 1425 7 0.01 17 0.02graph11-pp 307 1338 7 0.01 16 0.02graph13 458 1877 6 0.00 18 0.03graph13-pp 420 1772 6 0.00 19 0.04

MMD = degeneracyMMD+ = 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’.

v

wv

w

Any method canbe used here

Algoritmiek53

MMD cpuMMD,

MCSLB cpu MMD+ cpuMMD+, MCSLB cpu

link 8 10 3958.5 10 5509.2 10 153.66 10 220.71link-pp 8 10 86.65 10 98.01 10 38.19 10 50.67munin1 9 7 5.63 7 6.31 9 0.57 9 2.25munin1-pp 9 7 0.99 7 1.14 8 0.06 9 0.55pignet2 29 - - - - 31 816.91 31 1804.2pignet2-pp 30 27 20434 27 29191 32 221.37 32 381.36celar06pp 11 11 0.38 11 0.53 11 0.1 11 0.58graph11 17 12 3404.1 12 5420.1 17 0.07 17 8.1graph11-pp 18 13 1035.9 13 1734.4 16 0.06 16 6.91graph13 20 12 45234 12 69516 18 0.1 18 14.96graph13-pp 20 13 6202.5 13 10183 19 0.1 19 13.77

Instance Best

LB_P(*)

MMD = degeneracyMMD+ = contraction degeneracy heuristicMCSLB = 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

bc

d

e

Algoritmiek56

We can start at any vertex: each vertex has 0 visited neighbours

0

0

0

0

0

a

bc

d

e

a, …

Algoritmiek57

Say, we start at a

0

1

1

0

1

a

bc

d

e

a, …The next vertexmust be b, c, ord. It can not e.

Algoritmiek58

After b, we must visit c.

0

1

2

1

1

a

bc

d

e

a, b, …

Algoritmiek59

And then d

0

1

2

1

2

a

bc

d

e

a, b, c, …

Algoritmiek60

And finally e

0

1

2

1

2

a

bc

d

e

a, b, c, d, …

Algoritmiek61

We made an MCS-ordering of the graph

0

1

2

2

2

a

bc

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

Preprocess

Solve 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 graph Reduced graph

Algoritmiek71

Example

Reduce

Undo reductions

a b c

de f

g

a b

e f

a be f

c

g

Solve

a be f

e f

gfe

a be f

gfe

b

b

f

fca be f

gfe

bfc

dc 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 v1 and v2

– Add edges between x1, x2 and x3.

buddy rule

v1

x1

v2

x1

x3

x2x2

x3

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

instance | V| | E| | V| | E| low instance | V| | E| | V| | E| lowalarm 37 65 0 0 4 oesoca+ 67 208 14 75 9barley 48 126 26 78 4 oesoca 39 67 0 0 3boblo 221 328 0 0 3 oesoca42 42 72 0 0 3diabetes 413 819 116 276 4 oow-bas 27 54 0 0 4link 724 1738 308 1158 4 oow-solo 40 87 27 63 4mildew 35 80 0 0 4 oow-trad 33 72 23 54 4munin1 189 366 66 188 4 pignet2 3032 7264 1002 3730 4munin2 1003 1662 165 451 4 pigs 441 806 48 137 4munin3 1044 1745 96 313 4 ship-ship 50 114 24 65 4munin4 1041 1843 215 642 4 vsd 38 62 0 0 4munin-kgo 1066 1730 0 0 5 water 32 123 22 96 5

wilson 21 27 0 0 3

original preprocessedoriginal preprocessed

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 havelarger 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 decompositioncan be build from

tree decompositionsof 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 forprobabilistic networks

instance |V| |E| cliquealmost-clique size 3 # graphs # cliques# To Do low

barley-pp 26 78 0 7 0 8 7 1 5diabetes-pp 116 276 0 85 0 86 84 2 4link-pp 308 1158 0 0 0 1 0 1 4munin1-pp 66 188 0 2 0 3 2 1 4munin2-pp 165 451 6 13 4 24 12 12 4munin3-pp 96 313 2 2 2 7 4 3 4munin4-pp 215 642 3 4 0 8 2 6 4oesoca+-pp 14 75 0 0 0 1 0 1 9oow-trad-pp 23 54 0 0 1 2 1 1 4oow-solo-pp 27 63 0 0 1 2 0 2 4pathfinder-pp 12 43 0 5 0 6 6 0 6pignet2-pp 1002 3730 0 0 0 1 0 1 4pigs-pp 48 137 0 1 0 2 1 1 5ship-ship-pp 24 65 0 0 0 1 0 1 4water-pp 22 96 0 1 0 2 1 1 6

size separators output

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

Recommended