### BibTeX

@MISC{Gu_tree/branchdecompositions,

author = {Qianping Gu},

title = { Tree/Branch Decompositions and Their Applications},

year = {}

}

### OpenURL

### Abstract

The notions of tree decompositions and branch decompositions have received much attention in discrete optimizations. These notions were originally introduced by Robertson and Seymour [15, 16] in the proof of the Graph Minors Theorem, known as Wagner’s conjecture. It is known that practical problems in several research areas, like VLSI design, Cholesky factorization, evolution theory, control flow graphs of computer programs, and 0/1 integer programs, are equivalent to treewidth of an associated graph. Overviews on these applications can be found in Bodlaender [5] and Hicks et al. [13]. Courcelle [9] and Arnborg et al. [3] showed that several NP-hard problems on graphs can be solved in polynomial time using dynamic programming techniques if the graphs have bounded treewidth or branchwidth. There are two major steps in the techniques of [9, 3]: (1) compute a tree/branch decomposition with small treewidth/branchwidth of the input graph; and (2) use a dynamic programming based algorithm to solve the problem with the help of the tree/branch decomposition found in step (1). These techniques are known as tree/branch decomposition based algorithms and revealed the algorithmic importance of tree decompositions and branch decompositions. Efficient algorithms for instances with bounded treewidth/branchwidth of many NP-hard problems have been developed based these techniques. You are referred to Bodlaender and Hicks et al. for overviews [5, 13] • Terminology In this note, a graph is undirected unless otherwise stated, and is simple (without parallel edges and self-loops), unless it is explicitly referred as a multigraph. For a graph or multigraph G, we denote by V (G) the set of vertices of G and by E(G) the set of edges of G. For each X ⊆ V (G), we denote by E(X) the set of edges incident with two vertices in X and by δ(X) the set of edges incident with one vertex in X and one vertex in V (G) \ X. For disjoint X, Y ⊆ V (G), we denote by E(X, Y) the set of edges incident with one vertex in X and one vertex in Y. For each E ′ ⊆ E(G), we denote by V (E ′ ) the set of end vertices of the edges in E ′. • Tree decompositions A tree-decomposition of a given graph G(V, E) is a pair (f, T), where T is a tree and f associates each node p of T a subset f(p) ⊆ V (G) such that

### Keyphrases

tree branch decomposition branch decomposition tree decomposition control flow graph many np-hard problem polynomial time dynamic programming technique end vertex computer program input graph several np-hard problem algorithmic importance efficient algorithm wagner conjecture graph minor theorem integer program much attention practical problem discrete optimization vlsi design evolution theory small treewidth branchwidth parallel edge dynamic programming major step associated graph several research area cholesky factorization bounded treewidth branchwidth