Tree decomposition

Tree decomposition
A graph with eight vertices, and a tree decomposition of it onto a tree with six nodes. Each graph edge connects two vertices that are listed together at some tree node, and each graph vertex is listed at the nodes of a contiguous subtree of the tree. Each tree node lists at most three vertices, so the width of this decomposition is two.

In graph theory, a tree decomposition is a mapping of a graph into a tree that can be used to speed up solving certain problems on the original graph. The treewidth measures the number of graph vertices mapped onto any tree node in an optimal tree decomposition. While it is NP-hard to determine the treewidth of a graph, many NP-hard combinatorial problems on graphs are solvable in polynomial time when restricted to graphs of bounded treewidth.

In machine learning, tree decompositions are also called junction trees, clique trees, or join trees; they play an important role in problems like probabilistic inference, constraint satisfaction, query optimization, and matrix decomposition.

The concept of tree decompositions and treewidth was introduced by Robertson & Seymour (1984) and has since been studied by many other authors.

Contents

Definition

Intuitively, a tree decomposition represents the vertices of the given graph as subtrees of a tree, in such a way that vertices are adjacent only when the corresponding subtrees intersect. Thus, the graph forms a subgraph of the intersection graph of the subtrees. The full intersection graph is a chordal graph.

Each subtree associates a graph vertex with a set of tree nodes. To define this formally, we represent each tree node as the set of vertices associated with it. Thus, given a graph G = (V, E), a tree decomposition is a pair (X, T), where X = {X1, ..., Xn} is a family of subsets of V, and T is a tree whose nodes are the subsets Xi, satisfying the following properties[1]:

  1. The union of all sets Xi equals V. That is, each graph vertex is associated with at least one tree node.
  2. For every edge (v, w) in the graph, there is a subset Xi that contains both v and w. That is, vertices are adjacent in the graph only when the corresponding subtrees have a node in common.
  3. If Xi and Xj both contain a vertex v, then all nodes Xk of the tree in the (unique) path between Xi and Xj contain v as well. That is, the nodes associated with vertex v form a connected subset of T. This is also known as coherence, or the running intersection property. It can be stated equivalently that if Xi, Xj and Xk are nodes, and Xk is on the path from Xi to Xj, then X_i \cap X_j \subseteq X_k.

The tree decomposition of a graph is far from unique; for example, a trivial tree decomposition contains all vertices of the graph in its single root node.

Treewidth

The width of a tree decomposition is the size of its largest set Xi minus one. The treewidth tw(G) of a graph G is the minimum width among all possible tree decompositions of G. In this definition, the size of the largest set is diminished by one in order to make the treewidth of a tree equal to one. Equivalently, the treewidth of G is one less than the size of the largest clique in the chordal graph containing G with the smallest clique number. The graphs with treewidth at most k are also called partial k-trees.

It is NP-complete to determine whether a given graph G has treewidth at most a given variable k.[2] However, when k is any fixed constant, the graphs with treewidth k can be recognized, and a width k tree decomposition constructed for them, in linear time.[3] The time dependence of this algorithm on k is exponential.

Treewidth may also be characterized in terms of havens, functions describing an evasion strategy for a certain pursuit-evasion game defined on a graph. A graph G has treewidth k if and only if it has a haven of order k + 1 but of no higher order, where a haven of order k + 1 is a function β that maps each set X of at most k vertices in G into one of the connected components of G \ X and that obeys the monotonicity property that β(Y) ⊆ β(X) whenever XY.[4]

Graph minors

Forbidden minors for partial 3-trees

For any fixed constant k, the partial k-trees are closed under the operation of graph minors, and therefore, by the Robertson–Seymour theorem, this family can be characterized in terms of a finite set of forbidden minors. For partial 1-trees (that is, forests), the single forbidden minor is a triangle, and for the partial 2-trees the single forbidden minor is the complete graph on four vertices. However, the number of forbidden minors increases for larger values of k: for partial 3-trees there are four forbidden minors, the complete graph on five vertices, the octahedral graph with six vertices, the eight-vertex Wagner graph, and the pentagonal prism with ten vertices.[5]

The planar graphs do not have bounded treewidth, because the n × n grid graph is a planar graph with treewidth n. Therefore, if F is a minor-closed graph family with bounded treewidth, it cannot include all planar graphs. Conversely, if some planar graph cannot occur as a minor for graphs in family F, then there is a constant k such that all graphs in F have treewidth at most k. That is, the following three conditions are equivalent to each other:[6]

  1. F is a minor-closed family of bounded-treewidth graphs;
  2. One of the finitely many forbidden minors characterizing F is planar;
  3. F is a minor-closed graph family that does not include all planar graphs.

Families of graphs with bounded treewidth include the cactus graphs, pseudoforests, series-parallel graphs, outerplanar graphs, and Halin graphs.[5] The control flow graphs arising in the compilation of structured programs also have bounded treewidth, which allows certain tasks such as register allocation to be performed efficiently on them.[7]

Dynamic programming

At the beginning of the 1970s, it was observed that a large class of combinatorial optimization problems defined on graphs could be efficiently solved by non serial dynamic programming as long as the graph had a bounded dimension,[8] a parameter related to treewidth. Later, several authors independently observed at the end of the 1980s[9] that many algorithmic problems that are NP-complete for arbitrary graphs may be solved efficiently by dynamic programming for graphs of bounded treewidth, using the tree-decompositions of these graphs.

As an example, consider the problem of finding the maximum independent set in a graph of treewidth k. To solve this problem, first choose one of the nodes of the tree decomposition to be the root, arbitrarily. For a node Xi of the tree decomposition, let Di be the union of the sets Xj descending from Xi. Let A(S,i), for an independent set S ⊂ Xi, denote the size of the largest independent subset I of Di such that I ∩ Xi = S. Similarly, for an adjacent pair of nodes Xi and Xj, with Xi farther from the root of the tree than Xj, and an independent set S ⊂ Xi ∩ Xj, let B(S,i,j) denote the size of the largest independent subset I of Di such that I ∩ Xi ∩ Xj = S. We may calculate these A and B values by a bottom-up traversal of the tree:

A(S,i)=|S| + \sum_{j} \left(B(S\cap X_j, j,i) - |S\cap X_j|\right)
B(S,i,j)=\max_{S'\subset X_i\atop S=S'\cap X_j} A(S',i)

where the sum in the calculation of A(S,i) is over the children of node Xi.

At each node or edge, there are at most 2k sets S for which we need to calculate these values, so if k is a constant then the whole calculation takes constant time per edge or node. The size of the maximum independent set is the largest value stored at the root node, and the maximum independent set itself can be found (as is standard in dynamic programming algorithms) by backtracking through these stored values starting from this largest value. Thus, in graphs of bounded treewidth, the maximum independent set problem may be solved in linear time. Similar algorithms apply to many other graph problems.

This dynamic programming approach is used in machine learning via the junction tree algorithm for belief propagation in graphs of bounded treewidth. It also plays a key role in algorithms for computing the treewidth and constructing tree decompositions: typically, such algorithms have a first step that approximates the treewidth, constructing a tree decomposition with this approximate width, and then a second step that performs dynamic programming in the approximate tree decomposition to compute the exact value of the treewidth.[3]

Treewidth of cliques

In any tree decomposition (T,X) of a graph containing a clique there is a node i in T such that Xi contains all the nodes of the clique. This is shown by induction on the size of the clique. The base cases are cliques of size 1 and 2, which follow from the conditions 1 and 2 on a tree decomposition. The inductive case is a graph containing a clique of size k+1, where k is 2 or greater. Let C be the set of nodes in the clique. Since k+1 \geq 3, there are at least three nodes in the clique, call them x, y and z. We know from the induction hypothesis that there are nodes a, b and c in the tree decomposition with

X_a \supseteq C-\{x\}, X_b \supseteq C-\{y\}, X_c \supseteq C-\{z\}.

In a tree there is exactly one path between any two nodes. A second property of trees is that the three paths between a, b and c have a non-empty intersection. Let v be a node in this intersection. From condition 3 on a tree decomposition we get that

X_v \supseteq X_a \cap X_b \supseteq C - \{ x, y \}
X_v \supseteq X_b \cap X_c \supseteq C - \{ y, z \}
X_v \supseteq X_a \cap X_c \supseteq C - \{ x, z \}

This implies that X_v \supseteq C.

It follows from this that the treewidth of a k-clique is k-1.

Treewidth of trees

A connected graph with at least two vertices has treewidth 1 if and only if it is a tree. This can be shown in two steps, first that a tree has treewidth 1, second, that a connected graph with treewidth 1 is a tree.

To show the former, use induction on the number of vertices in the tree to show that it has a tree decomposition with no bag with size larger than two. The base case is a tree with two vertices, in which case the tree decomposition with one single node is sufficient. The inductive case is a tree G with k + 1 vertices, where k is any integer greater than 1. If we remove a leaf v from the graph, we get a tree of size k. From the induction hypothesis we can create a tree decomposition (T,X) of width 1 of this graph. Let u be the unique neighbour of v in G and i some node in T such that u is in Xi. Let T1 be T added a node j with i as its only neighbour and let X' be X with the addition that X'j = {i,j}. Now (T1,X') is a tree decomposition of G with width 1.

Now it remains to show that a connected graph with treewidth 1 is a tree. The contrapositive statement is that a graph with a cycle does not have treewidth 1. A graph with a cycle has the 3-clique as a minor, which from the statement in the previous section has treewidth 2. Since the partial 2-trees are closed under minors, the graph therefore has treewidth 2 or greater.

See also

  • Clique-width
  • Branch-decomposition, a closely related structure whose width is within a constant factor of treewidth
  • Path decomposition, a tree decomposition in which the underlying tree of the decomposition is a path graph
  • Cycle rank, a number that is bounded for a minor-closed graph family if and only if the family excludes a path
  • Degeneracy, a measure of the sparsity of a graph that is at most equal to its treewidth

Notes

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Decomposition arborescente — Décomposition arborescente En théorie des graphes, la décomposition arborescente (en anglais : tree decomposition) consiste en la décomposition d un graphe en séparateurs connectés dans un arbre. Cette méthode a été proposée par Seymour et… …   Wikipédia en Français

  • Décomposition-arbre — Décomposition arborescente En théorie des graphes, la décomposition arborescente (en anglais : tree decomposition) consiste en la décomposition d un graphe en séparateurs connectés dans un arbre. Cette méthode a été proposée par Seymour et… …   Wikipédia en Français

  • Décomposition Arborescente — En théorie des graphes, la décomposition arborescente (en anglais : tree decomposition) consiste en la décomposition d un graphe en séparateurs connectés dans un arbre. Cette méthode a été proposée par Seymour et Robertson dans le cadre de… …   Wikipédia en Français

  • Decomposition method (constraint satisfaction) — In constraint satisfaction, a decomposition method translates a constraint satisfaction problem into another constraint satisfaction problem that is binary and acyclic. Decomposition methods work by grouping variables into sets, and solving a… …   Wikipedia

  • Décomposition arborescente — En théorie des graphes, la décomposition arborescente (en anglais : tree decomposition) consiste en la décomposition d un graphe en séparateurs connectés dans un arbre. Cette méthode a été proposée par Seymour et Robertson dans le cadre de… …   Wikipédia en Français

  • Branch-decomposition — In graph theory, the branch decomposition of a graph G=(V,E) is a ternary tree T and a bijection from the set of the leaves of T into E, the set of edges of G. A ternary tree is a tree in which every vertex has degree 1 or 3.For any edge e of T,… …   Wikipedia

  • Path decomposition — In graph theory, a path decomposition of a graph G is a tree decomposition (X,T) where T is a path. The path width of G is the least integer k such that G has a path decomposition of width k.Computing the path width of a graph is NP hard …   Wikipedia

  • Modular decomposition — In graph theory, the modular decomposition is a decomposition of an undirected graph into subsets of vertices called modules. A module is a generalization of a connected component of a graph. Unlike connected components, however, one module can… …   Wikipedia

  • Functional decomposition — refers broadly to the process of resolving a functional relationship into its constituent parts in such a way that the original function can be reconstructed (i.e., recomposed) from those parts by function composition. In general, this process of …   Wikipedia

  • Suffix tree — In computer science, a suffix tree (also called suffix trie, PAT tree or, in an earlier form, position tree) is a data structure that presents the suffixes of a given string in a way that allows for a particularly fast implementation of many… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”