330 likes | 472 Views
Computing Branchwidth via Efficient Triangulations and Blocks. Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University. Outline. Introduction Definitions Theorems Algorithm Conclusion. Introduction.
E N D
Computing Branchwidth via Efficient Triangulations and Blocks Authors: F.V. Fomin, F. Mazoit, I. Todinca Presented by: Elif Kolotoglu, ISE, Texas A&M University
Outline • Introduction • Definitions • Theorems • Algorithm • Conclusion
Introduction • Proceedings of the 31st Workshop on Graph Theoretic Concepts in Computer Science (WG 2005), Springer LNCS vol. 3787, 2005, pp. 374-384 • An algorithm to compute the branchwidth of a graph on n vertices in time (2 + √3)n · nO(1) is presented • The best known was 4n · nO(1)
Introduction • Branch decomposition and branchwidth were introduced by Robertson and Seymour in 1991 • Useful for solving NP-hard problems when the input is restricted to graphs of bounded branchwidth • Testing whether a general graph has branchwidth bounded by some integer k is NP-Complete (Seymour & Thomas 1994)
Introduction • Branchwidth and branch decompositions are strongly related with treewidth and tree decompositions • For any graph G, bw(G) ≤ tw(G) + 1 ≤ Floor(3/2bw(G)) • But the algorithmic behaviors are not quite same
Introduction • On planar graphs computing branchwidth is solvable in polynomial time while computing the treewidth in polynomial time is still an open problem • On split graphs computing branchwidth is NP hard, although it is linear time solvable to find the treewidth
Introduction • Running times of exact algorithms for treewidth • O*(1.9601n) by Fomin, Kratsch, Todinca-2004 • O*(1.8899n) by Villanger-2006 • O*(4n) with polynomial space by Bodlaender, Fomin, Koster, Kratsch, Thilikos-2006 • O*(2.9512n) with polynomial space by Bodlaender, Fomin, Koster, Kratsch, Thilikos-2006
Outline • Introduction • Definitions • Theorems • Algorithm • Conclusion
Definitions • Let G = (V, E) be an undirected and simple graph with |V|=n, |E|=m and let T be a ternary tree with m leaves • Letηbe a bijection from the edges of G to the leaves of T • Then the pair(T, η)is called abranch decompositionof G. e a a d e d b c c b
Definitions • The vertices of T will be called nodes, and the edges of T will be called branches • Removing a branch e from T partitions T into two subtrees T1(e) and T2(e). lab(e) is the set of vertices of G both incident to edges mapped on T1(e) and T2(e). e a a d e d b c c b
Definitions • The maximum size over all lab(e) is the width of the branch decomposition (T, η) • Thebranchwidthof G, denoted byβ(G),is the minimum width over all branch decompositions of G • A branch decomposition of G with width equal to the branchwidth is anoptimal branch decomposition
Example 6 8 1 2 6 5 0 8 7 4 7 3 3 5 4 2 4 8 3 6 5 0 2 1 7 1 0
Definitions • A graph G is chordal if every cycle of G with at least 4 vertices has a chord(an edge between two non-consecutive vertices of a cycle) • A supergraph H=(V,F) of G=(V, E) (i.e. E is a subset of F) is a triangulation of G if H is chordal • If no strict subgraph of H is a triangulation of G, then H is called a minimal triangulation
Definitions • For each x in V we can associate a subtree Tx covering all the leaves of the branch decomposition T that are corresponding to the incident edges of x • The intersection graph of the subtrees of a tree is chordal • The intersection graph of the subtrees Tx is a triangulation H(T, η) of G. • Lab(e) induces a clique in H
Outline • Introduction • Definitions • Theorems • Algorithm • Conclusion
Theorems • The basic result states that, for any graph G, there is an optimal branch decomposition (T, η) such that H(T, η) is an efficient triangulation of G • To compute the branchwidth, this result is combined with an exponential time algorithm computing the branchwidth of hyper-cliques
Theorems • A triangulation H of G is efficient if • Each minimal separator of H is also a minimal separator of G; • For each minimal separator S of H the connected components of H-S are exactly the connected components of G-S
Theorems • Theorem 1: There is an optimal branch decomposition (T, η) of G s.t. the chordal graph H(T, η) is an efficient triangulation of G. Moreover, each minimal separator of H is the label of some branch of T.
Theorems • A set of vertices B in V of G is called a block if, for each connected component Ci of G-B, • its neighborhood Si=N(Ci) is a minimal separator • B\Si is non empty and contained in a connected component of G-Si Si B Ci
Theorems • The minimal separators Si border the block B and the set of these minimal separators are denoted by S(B) • The set of blocks of G is denoted by BG
Theorems • Lemma 1&2: If H is an efficient triangulation of G, then any maximal clique K of H is a block of G, and for any block B of G, there is an efficient triangulation H(B) of G s.t. B induces a maximal clique in H
Theorems • Let B be a block of G and K(B) be the complete graph with vertex set B. A branch decomposition (TB,ηB) of K(B) respects the block B if, for each bordering minimal separator S in S(B), there is a branch e of the decomposition s.t. S is a subset of lab(e). The block branchwidth bbw(B) of B is the minimum width over all the branch decompositions of K(B) respecting B
Theorems • Theorem 2: • Theorem 4: Given a graph G and the list BG of all its blocks together with their block-branchwidth, the branchwidth of G can be computed in O(nm|B(G)|) time
Theorems • n(B): # of vertices of block B • s(B): # of minimal separators bordering B • Theorem 5: The block-branchwidth of any block B can be computed in O*(3s(B)) time • Theorem 6: The block-branchwidth of any block B can be computed in O*(3n(B)) time
Theorems • s(B) is at most the # of components of G-B, so n(B)+s(B)≤n • At least one s(B) or n(B) ≤ n/2, then • Theorem 7: For any block B of G, the block-branchwidth of B can be computed in O*(√3n) time
Thorems • Theorem 8: The branchwidth of a graph can be computed in O*((2+√3)n) time • Pf: Every subset B of V is checked (in polynomial time) if it is a block or not. The block-branchwidth is computed for each block. The number of blocks is at most 2n) and for each block O*(√3n) time is needed. And the branchwidth is computed using Theorem 4 in O*(2n) time.
Outline • Introduction • Definitions • Theorems • Algorithm • Conclusion
Algorithm • Given a minimal separator S of G and a connected component C of G-S, R(S,C) denotes the hypergraph obtained from G[SUC] by adding the hyperedge S. S C
Algorithm • Input: G, all its blocks and all its minimal separators • Output: bw(G) • Compute all the pairs {S,C} where S is a minimal separator and C a component of G-S with S=N(C); sort them by the size of SUC • for each {S,C} taken in increasing order • bw(R(S,C))=bbw(SUC) • for each block Ω with • compute the components Ci of G-Ω contained in C and let Si=N(Ci) • let ∆*G be the set of inclusion minimal separators of G • bw(G)=
Outline • Introduction • Definitions • Theorems • Algorithm • Conclusion
Conclusion • Enumerating the blocks in a graph and finding the block-branchwidth of the blocks leads to a O*((2+√3)n) time algorithm for the branchwidth problem • This is the best algorithm for branchwidth problem
Conclusion • Open problems for future research: • Is there a faster way of computing block branchwidth? • Can we find any smaller class of triangulations (compared to efficient triangulations) that contains H(T, η), for some optimal branch decompositions of the graph?