HOME

TheInfoList



OR:

In
graph theory In mathematics, graph theory is the study of ''graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of '' vertices'' (also called ''nodes'' or ''points'') which are conne ...
, a tree decomposition is a mapping of a
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
into a
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
that can be used to define the
treewidth In graph theory, the treewidth of an undirected graph is an integer number which specifies, informally, how far the graph is from being a tree. The smallest treewidth is 1; the graphs with treewidth 1 are exactly the trees and the forests. The gra ...
of the graph and speed up solving certain computational problems on the graph. Tree decompositions are also called junction trees, clique trees, or join trees. They play an important role in problems like probabilistic inference,
constraint satisfaction In artificial intelligence and operations research, constraint satisfaction is the process of finding a solution through a set of constraints that impose conditions that the variables must satisfy. A solution is therefore a set of values for th ...
,
query optimization Query optimization is a feature of many relational database management systems and other databases such as NoSQL and graph databases. The query optimizer attempts to determine the most efficient way to execute a given query by considering the p ...
, and
matrix decomposition In the mathematical discipline of linear algebra, a matrix decomposition or matrix factorization is a factorization of a matrix into a product of matrices. There are many different matrix decompositions; each finds use among a particular class of ...
. The concept of tree decomposition was originally introduced by . Later it was rediscovered by and has since been studied by many other authors.


Definition

Intuitively, a tree decomposition represents the vertices of a given graph as subtrees of a tree, in such a way that vertices in are adjacent only when the corresponding subtrees intersect. Thus, forms a subgraph of the
intersection graph In graph theory, an intersection graph is a graph that represents the pattern of intersections of a family of sets. Any graph can be represented as an intersection graph, but some important special classes of graphs can be defined by the types o ...
of the subtrees. The full intersection graph is a
chordal graph In the mathematical area of graph theory, a chordal graph is one in which all cycles of four or more vertices have a ''chord'', which is an edge that is not part of the cycle but connects two vertices of the cycle. Equivalently, every induced c ...
. 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 , a tree decomposition is a pair , where is a family of subsets (sometimes called ''bags'') of , and is a tree whose nodes are the subsets , satisfying the following properties: # The union of all sets equals . That is, each graph vertex is associated with at least one tree node. # For every edge in the graph, there is a subset that contains both and . That is, vertices are adjacent in the graph only when the corresponding subtrees have a node in common. # If and both contain a vertex , then all nodes of the tree in the (unique) path between and contain as well. That is, the nodes associated with vertex form a connected subset of . This is also known as coherence, or the ''running intersection property''. It can be stated equivalently that if , and are nodes, and is on the path from to , 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. A tree decomposition in which the underlying tree is a
path graph In the mathematical field of graph theory, a path graph or linear graph is a graph whose vertices can be listed in the order such that the edges are where . Equivalently, a path with at least two vertices is connected and has two termina ...
is called a path decomposition, and the width parameter derived from these special types of tree decompositions is known as
pathwidth In graph theory, a path decomposition of a graph is, informally, a representation of as a "thickened" path graph, and the pathwidth of is a number that measures how much the path was thickened to form . More formally, a path-decomposition ...
. A tree decomposition of treewidth is ''smooth'', if for all i \in I : , X_i, = k + 1, and for all (i, j) \in F : , X_i \cap X_j, = k.. The minimum number of trees in a tree decomposition is the tree number of .


Treewidth

The ''width'' of a tree decomposition is the size of its largest set minus one. The
treewidth In graph theory, the treewidth of an undirected graph is an integer number which specifies, informally, how far the graph is from being a tree. The smallest treewidth is 1; the graphs with treewidth 1 are exactly the trees and the forests. The gra ...
of a graph is the minimum width among all possible tree decompositions of . 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. Treewidth may also be defined from other structures than tree decompositions, including
chordal graph In the mathematical area of graph theory, a chordal graph is one in which all cycles of four or more vertices have a ''chord'', which is an edge that is not part of the cycle but connects two vertices of the cycle. Equivalently, every induced c ...
s,
brambles A bramble is any rough, tangled, prickly shrub, usually in the genus ''Rubus'', which grows blackberries, raspberries, or dewberries. "Bramble" is also used to describe other prickly shrubs, such as roses (''Rosa'' species). The fruits inclu ...
, and havens. It is NP-complete to determine whether a given graph has treewidth at most a given variable . However, when is any fixed constant, the graphs with treewidth can be recognized, and a width tree decomposition constructed for them, in linear time.. The time dependence of this algorithm on is an exponential function of .


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 Dynamic programming is both a mathematical optimization method and a computer programming method. The method was developed by Richard Bellman in the 1950s and has found applications in numerous fields, from aerospace engineering to economics. ...
as long as the graph had a bounded ''dimension'', a parameter related to treewidth. Later, several authors independently observed, at the end of the 1980s,; ; . that many algorithmic problems that are
NP-complete In computational complexity theory, a problem is NP-complete when: # it is a problem for which the correctness of each solution can be verified quickly (namely, in polynomial time) and a brute-force search algorithm can find a solution by tryi ...
for arbitrary graphs may be solved efficiently by
dynamic programming Dynamic programming is both a mathematical optimization method and a computer programming method. The method was developed by Richard Bellman in the 1950s and has found applications in numerous fields, from aerospace engineering to economics. ...
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 graph theory, an independent set, stable set, coclique or anticlique is a set of vertices in a graph, no two of which are adjacent. That is, it is a set S of vertices such that for every two vertices in S, there is no edge connecting the tw ...
in a graph of treewidth . To solve this problem, first choose one of the nodes of the tree decomposition to be the root, arbitrarily. For a node of the tree decomposition, let be the union of the sets descending from . For an independent set S \subset X_i, let denote the size of the largest independent subset of such that I \cap X_i = S. Similarly, for an adjacent pair of nodes and , with farther from the root of the tree than , and an independent set S \subset X_i \cap X_j, let denote the size of the largest independent subset of such that I \cap X_i \cap X_j = S. We may calculate these and values by a bottom-up traversal of the tree: :A(S,i)=, S, + \sum_ \left(B(S\cap X_j, j,i) - , S\cap X_j, \right) :B(S,i,j)=\max_ A(S',i) where the sum in the calculation of A(S,i) is over the children of node . At each node or edge, there are at most sets for which we need to calculate these values, so if 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 Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
via the
junction tree algorithm The junction tree algorithm (also known as 'Clique Tree') is a method used in machine learning to extract marginalization in general graphs. In essence, it entails performing belief propagation on a modified graph called a junction tree. The gra ...
for
belief propagation A belief is an attitude that something is the case, or that some proposition is true. In epistemology, philosophers use the term "belief" to refer to attitudes about the world which can be either true or false. To believe something is to take i ...
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.


See also

*
Brambles A bramble is any rough, tangled, prickly shrub, usually in the genus ''Rubus'', which grows blackberries, raspberries, or dewberries. "Bramble" is also used to describe other prickly shrubs, such as roses (''Rosa'' species). The fruits inclu ...
and havensTwo kinds of structures that can be used as an alternative to tree decomposition in defining the treewidth of a graph. * Branch-decompositionA closely related structure whose width is within a constant factor of treewidth. * Decomposition MethodTree Decomposition is used in Decomposition Method for solving constraint satisfaction problem.


Notes


References

*. *. *. *. *. *. *. *. *. {{refend Trees (graph theory) Graph minor theory Graph theory objects