16:36MCS - WG20041 On the Maximum Cardinality Search Lower Bound for Treewidth Hans Bodlaender Utrecht University Arie Koster ZIB Berlin
16:36MCS - WG20042 Maximum Cardinality Search is fun!
16:36MCS - WG20043 Contents Introduction –Treewidth –Maximum Cardinality Search –Lucena’s result Complexity Bounds on planar graphs Comparison with degeneracy lower bound Heuristics and experiments Conclusions
16:36MCS - WG20044 Treewidth 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
16:36MCS - WG20045 Computing treewidth and tree 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
16:36MCS - WG20046 Lower 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 lower bound methods
16:36MCS - WG20047 Recognizing 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)
16:36MCS - WG20048 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 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
16:36MCS - WG20049 Example: a 4-clique with one subdivision a b c d e
16:36MCS - WG We can start at any vertex: each vertex has 0 visited neighbors a b c d e a, …
16:36MCS - WG Say, we start at a a b c d e a, … The next vertex must be b, c, or d. It can not be e.
16:36MCS - WG After b, we must visit c a b c d e a, b, …
16:36MCS - WG And then d a b c d e a, b, c, …
16:36MCS - WG And finally e a b c d e a, b, c, d, …
16:36MCS - WG We made an MCS- ordering of the graph a b c d e a, b, c, d, e …
16:36MCS - WG Lucena’s 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.
16:36MCS - WG Different orderings can give different maximum visited degree a b c d e e, …
16:36MCS - WG a b c d e, b, …
16:36MCS - WG a b c d e, b, d, …
16:36MCS - WG a b c d e, b, d, c, …
16:36MCS - WG a has visited degree 3, so the treewidth is at least a b c d e, b, d, c, …
16:36MCS - WG Some easy cases Clique: maximum visited degree n – 1. Grid: maximum visited degree 2.
16:36MCS - WG Complexity 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 P=NP –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.
16:36MCS - WG Planar 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
16:36MCS - WG Example: planar graphs can have large maximum visited degree
16:36MCS - WG Start in bottom row, and visit vertices on bottom row first
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG Next row
16:36MCS - WG Visited degree
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG Third row
16:36MCS - WG Visited degree 3
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG End of 3rd row
16:36MCS - WG th row
16:36MCS - WG Visited degree 4
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG
16:36MCS - WG And reaching a node with visited degree 5 Generalizes to larger values
16:36MCS - WG Upper 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.
16:36MCS - WG Definition: 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.
16:36MCS - WG Lemma 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.
16:36MCS - WG Proof 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 After z is visited, we must visit v (v.d. 2) instead of vertex in unvisited part with v.d. 1. z
16:36MCS - WG Proof of upper bound Look at forest of edges to last successor. Each node of vd l > 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 2 k/4-1 vertices, so k = O(log n).
16:36MCS - WG MCS lower bound is bad for planar graphs Treewidth of planar graphs can be ( n 1/2 ). Can be approximated with ratio 1.5 (Seymour & Thomas, Hicks) MCS gives O( log n)
16:36MCS - WG Degeneracy 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(|V|+|E|) time
16:36MCS - WG Degeneracy 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
16:36MCS - WG Heuristics 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
16:36MCS - WG Graphs also used in other experiments. Three cases give matching bounds. Default is never outperformed! Improvements are incremental.
16:36MCS - WG Conclusions 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
16:36MCS - WG Thank you! Questions?
16:36MCS - WG Results Barley-pp Link Link-pp Munin1-pp Munin2-pp Munin3-pp Oesoca+-pp Pathfinder-pp Pignet2-pp network MMD UPB MCS-defMCS-maxMCS-min Water-pp
16:36MCS - WG Upper 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: d 1, …, d r. l = 0. –For i = 1 to r do if d i l then l++ –Set u(v) = min { u(v), l } If v is visited with visited degree k, then v has neighbors w 1, …, w k with w i visited before v with visited degree at least i – 1.
16:36MCS - WG More 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
16:36MCS - WG Bounds of upper bound heuristics MCSLB ub1cpuub2cpu link link-pp munin munin1-pp pignet pignet2-pp celar06pp graph graph11-pp graph graph13-pp Instance MCSLB-max ub3cpu