Download - Computing Branchwidth via Efficient Triangulations and Blocks

Transcript
Page 1: 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

Page 2: Computing Branchwidth via Efficient Triangulations and Blocks

Outline

Introduction Definitions Theorems Algorithm Conclusion

Page 3: Computing Branchwidth via Efficient Triangulations and Blocks

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)

Page 4: Computing Branchwidth via Efficient Triangulations and Blocks

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)

Page 5: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 6: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 7: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 8: Computing Branchwidth via Efficient Triangulations and Blocks

Outline

Introduction Definitions Theorems Algorithm Conclusion

Page 9: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 10: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 11: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 12: Computing Branchwidth via Efficient Triangulations and Blocks

Example

1

87

6 5

4

3

20

7

563842

1

0

0 1

2

45

7

3

86

Page 13: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 14: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 15: Computing Branchwidth via Efficient Triangulations and Blocks

Outline

Introduction Definitions Theorems Algorithm Conclusion

Page 16: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 17: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 18: Computing Branchwidth via Efficient Triangulations and Blocks

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.

Page 19: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 20: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 21: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 22: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 23: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 24: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 25: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 26: Computing Branchwidth via Efficient Triangulations and Blocks

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.

Page 27: Computing Branchwidth via Efficient Triangulations and Blocks

Outline

Introduction Definitions Theorems Algorithm Conclusion

Page 28: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 29: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 30: Computing Branchwidth via Efficient Triangulations and Blocks

Outline

Introduction Definitions Theorems Algorithm Conclusion

Page 31: Computing Branchwidth via Efficient Triangulations and Blocks

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

Page 32: Computing Branchwidth via Efficient Triangulations and Blocks

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?

Page 33: Computing Branchwidth via Efficient Triangulations and Blocks