# Computing Branchwidth via Efficient Triangulations and Blocks

Embed Size (px)

description

### Transcript of Computing Branchwidth via Efficient Triangulations and Blocks

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/2 bw(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 a branch decomposition of G.

aa

bb

cc

ddee

aa

bb

ee

cc

dd

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

aa

bb

cc

ddee

aa

bb

ee

cc

dd

Definitions

The maximum size over all lab(e) is the width of the branch decomposition (T, η)

The branchwidth of 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 an optimal branch decomposition

Example

1

87

6 5

4

3

20

7

563842

1

0

0 1

2

45

7

3

86

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 ifEach 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

B Ci

Si

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

H of clique maximal |)(maxmin)(G ofion triangulatefficient H

bbwGbw

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.

C

S

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

CSS

iii CSRbwbbwCSRbwCSRbw )))),((),(max()),,((min()),((

))),((maxmin,3/2min()(*

CSRbwnSCCS 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?