Title: On the Maximum Cardinality Search Lower Bound for Treewidth
1On the Maximum Cardinality Search Lower Bound
for Treewidth
- Hans Bodlaender
- Utrecht University
- Arie Koster
- ZIB Berlin
2Maximum Cardinality Search is fun!
3Contents
- Introduction
- Treewidth
- Maximum Cardinality Search
- Lucenas result
- Complexity
- Bounds on planar graphs
- Comparison with degeneracy lower bound
- Heuristics and experiments
- Conclusions
4Treewidth
- Treewidth of graph smallest width of tree
decomposition (no definition today!) - Many problems have treewidth-based algorithm with
running time exponential only in treewidth - E.g. Probabilistic inference, frequency
assignment - Method to solve problems
- Make tree decomposition of G with small width
- Run dynamic programming-like algorithm on tree
decomposition
5Computing treewidth andtree decomposition
- We need algorithms to find tree decompositions
and determine treewidth - Theoretical solutions often not useable ?
- Experimental work
- Preprocessing
- Upper bound heuristics
- Branch and bound
- ILP methods
- Lower bounds
6Lower bounds
- Inform about quality of upper bounds
- Help to speed up Branch and Bound and ILP methods
- Degeneracy
- Ramachandramurthi bound
- Clautiaux et. al technique
- Contraction technique
- Lucena (2003) MCS-lower bound
Can be combined with other lowerbound methods
7Recognizing chordal graphs
- Rose, Tarjan, Lueker, 1976 Lexicographic
Breadth First Search - Tarjan, Yannakakis, 1984 Maximum Cardinality
Search - Used later also as triangulation heuristic /
upper bound heuristic for treewidth - M-variant by Berry, Blair, Heggernes (2002)
8Maximum 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 neighbors - the maximum visited degree of a graph is the
maximum over all MCS-orderings of the maximum
visited degree of a vertex in the ordering.
- Pseudocode for MCS
- First, all vertices are unvisited
- Repeat
- Visit an unvisited vertex that has the largest
visited degree - Until all vertices are visited
9Example a 4-clique with one subdivision
a
b
c
d
e
10We can start at any vertex each vertex has 0
visited neighbors
a
0
a,
0
b
c
0
0
d
0
e
11Say, we start at a
a
0
The next vertexmust be b, c, ord. It can not be
e.
a,
1
b
c
1
1
d
0
e
12After b, we must visit c.
a
0
a, b,
2
b
c
1
1
d
1
e
13And then d
a
0
a, b, c,
2
b
c
1
2
d
1
e
14And finally e
a
0
a, b, c, d,
2
b
c
1
2
d
1
e
15We made an MCS-ordering of the graph
a
0
a, b, c, d, e
2
b
c
1
2
d
2
e
16Lucenas theorem
- (SIAM J. Disc. Math, 2003)
- The treewidth of a graph is at least its visited
degree. - Task find an MCS-ordering such that the largest
visited degree of a vertex is as large as
possible.
17Different orderings can give different maximum
visited degree
a
0
e,
0
b
c
1
1
d
0
e
18a
1
e, b,
1
b
c
1
1
d
0
19a
2
e, b, d,
2
b
c
1
1
d
0
20a
3
e, b, d, c,
2
b
c
1
1
d
0
21a has visited degree 3, so the treewidth is at
least 3
a
3
e, b, d, c,
2
b
c
1
1
d
0
22Some easy cases
- Clique maximum visited degree n 1.
- Grid maximum visited degree 2.
23Complexity
- Instance graph G, integer k
- Question is the maximum visited degree of G at
least k? - Is an NP-complete problem
- Can not be approximated in polynomial time with
constant ratio unless PNP - Construction a graph that has maximum visited
degree at least k when a 3-sat formula can be
satisfied, and maximum visited degree at most 6
otherwise.
24Planar graphs
- Example of planar graph with O(k!) vertices and
with maximum visited degree k. - Upper bound O(log n) on maximum visited degree of
planar graphs with n vertices
25Example planar graphs can have large maximum
visited degree
0
26Start in bottom row, and visit vertices on bottom
row first
0
1
270
1
1
280
1
1
1
290
1
1
1
1
300
1
1
1
1
1
310
1
1
1
1
1
1
320
1
1
1
1
1
1
1
330
1
1
1
1
1
1
1
1
340
1
1
1
1
1
1
1
1
1
350
1
1
1
1
1
1
1
1
1
1
360
1
1
1
1
1
1
1
1
1
1
1
37Next row
1
0
1
1
1
1
1
1
1
1
1
1
1
38Visited degree 2
1
2
0
1
1
1
1
1
1
1
1
1
1
1
391
2
2
0
1
1
1
1
1
1
1
1
1
1
1
401
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
411
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
421
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
431
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
441
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
451
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
461
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
471
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
481
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
49Third row
2
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
50Visited degree 3
2
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
51 2
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
52 2
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
53 2
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
54 2
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
55 2
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
56 2
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
57 3
2
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
58 3
3
2
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
59End of 3rd row
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
60 4th row
3
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
61 Visited degree 4
4
3
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
62 4
4
3
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
63 4
4
4
3
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
64 4
4
4
4
3
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
65 And reaching a node with visited degree 5
5
4
4
4
4
3
3
3
2
3
3
3
3
3
3
3
3
1
2
2
2
2
2
2
2
2
2
2
2
0
1
1
1
1
1
1
1
1
1
1
1
Generalizes to larger values
66Upper bound for planar graphs
- Planar graphs have visited degree O(log n).
- Let G be a planar graph with an MCS with visited
degree k, of minimum size. - At each point
- The set of visited vertices is connected
- By minimality the set of unvisited vertices is
connected.
67Definition Last successor
- The last successor of a vertex v is its last
visited neighbor, if it is visited later than v. - If all neighbors of v are visited before v, v has
no last successor. - Edges from vertices to last successors form a
forest.
68Lemma
- If v has visited degree l ³ 6, then there are two
vertices w and x with v the last successor of w
and of x, and the visited degree of w and x at
least l 4.
69Proof
- Look at set S of last four neighbors of v,
visited before v. - Each has visited degree at least l 4, otherwise
v is visited earlier. - Look at subgraph of visited vertices. W.l.o.g.,
suppose unvisited vertices are in exterior face.
- If vertex from S is not at exterior face, v is
its last successor. - We cannot have three vertices from S at exterior
face.
v
z
After z is visited, we must visit v (v.d. ³ 2)
instead of vertex inunvisited part with v.d. 1.
70Proof of upper bound
- Look at forest of edges to last successor.
- Each node of vd l gt 5 has two children with vd at
least l 4. - There is a node with vd k.
- Forest, and hence G must have more than 2k/4-1
vertices, so k O(log n).
71MCS lower bound is bad for planar graphs
- Treewidth of planar graphs can be Q( n1/2).
- Can be approximated with ratio 1.5 (Seymour
Thomas, Hicks) - MCS gives O( log n)
72Degeneracy
- Degeneracy or MMD
- Maximum over all subgraphs H of G of minimum
degree of vertex in H - Lower bound on treewidth
- Easily computable in O(VE) time
73Degeneracy versus maximum visited degree
- Maximum visited degree never smaller than
degeneracy - Consider last visited vertex of subgraph with
large minimum degree - Maximum visited degree sometimes larger than
degeneracy - Planar graphs have degeneracy at most 5.
- Example shows planar graphs with MCS with large
maximum visited degree
74Heuristics
- Three heuristics for tie-breaking MCS
- First
- Largest degree
- Smallest degree
- Heuristics that gives upper bound on maximum
visited degree (omitted from talk)
Give lower bound on maximum visited degree,hence
on treewidth
75Graphs also used in other experiments.
Three casesgive matchingbounds.
Default isneveroutperformed!
Improvementsare incremental.
76Conclusions
- MCS gives incremental improvement to existing
lower bounds for treewidth - Interesting combinatorial questions
- Additional techniques (contraction,
Clautiaux-et.al technique) can give considerable
improvements - Sometimes still big gaps, e.g., (close to) planar
graphs
77Thank you! Questions?
78Results
UPB
network
MMD
MCS-def
MCS-max
MCS-min
Barley-pp
5
0.00
6
0.00
5
0.00
6
0.00
7
Link
4
0.00
5
3.65
4
7.79
5
7.89
25
Link-pp
6
0.01
6
0.60
6
1.27
6
1.20
27
Munin1-pp
4
0.00
5
0.02
5
0.04
5
0.05
17
Munin2-pp
4
0.00
5
0.15
5
0.30
5
0.29
8
Munin3-pp
4
0.00
5
0.05
4
0.10
5
0.10
17
Oesoca-pp
9
0.00
10
0.00
9
0.00
10
0.00
11
Pathfinder-pp
5
0.00
6
0.00
5
0.00
6
0.00
6
Pignet2-pp
5
0.01
6
7.59
6
17.42
6
18.02
239
Water-pp
6
0.00
8
0.00
7
0.00
8
0.01
10
79Upper bound heuristic
- Each vertex v has upper bound u(v) variable
- Invariant u(v) ³ maximum visited degree of v
- Try to improve upper bounds until no longer
possible - Compute set UN(v) of u(w) of neighbors w of v
- Sort UN(v), say d1, , dr. l 0.
- For i 1 to r do if di ³ l then l
- Set u(v) min u(v), l
If v is visited with visited degree k, then v
has neighbors w1, , wk with wi visited before v
with visited degree at least i 1.
80More on upper bound heuristic
- Improvement looking at maximum visited degree
when v has a neighbor that is visited later - Improvement 2 looking at maximum visited degree
when v is visited before neighbor w a bound per
edge
81Bounds of upper bound heuristics
MCSLB-max
MCSLB
Instance
ub1
cpu
ub2
cpu
ub3
cpu
link
5
0.02
11
10
10
0.01
0.05
link-pp
6
0
10
9
9
0.02
0.02
munin1
4
0
6
6
7
0.01
0.01
munin1-pp
5
0
7
7
8
0
0
pignet2
5
9
0.41
8
8
0.16
0.16
pignet2-pp
6
0.06
11
9
9
0.06
0.06
celar06pp
11
0.01
16
16
16
0
0
graph11
8
0.01
13
13
13
0.01
0.01
graph11-pp
9
0
14
13
13
0.01
0.01
graph13
8
0.01
13
13
14
0.01
0.01
graph13-pp
8
0.01
12
12
14
0.02
0.02