- 101 Views
- Uploaded on
- Presentation posted in: General

Computing Branchwidth via Efficient Triangulations and Blocks

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

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

- Introduction
- Definitions
- Theorems
- Algorithm
- Conclusion

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

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

- 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

- 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

- 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

- Introduction
- Definitions
- Theorems
- Algorithm
- Conclusion

- 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

- 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

- 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

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

- 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

- 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

- Introduction
- Definitions
- Theorems
- Algorithm
- Conclusion

- 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

- 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

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

- 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

- 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

- 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

- 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

- 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

- 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

- 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

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

- Introduction
- Definitions
- Theorems
- Algorithm
- Conclusion

- 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

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

- Introduction
- Definitions
- Theorems
- Algorithm
- 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

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