Content deleted Content added
→Treewidth: oops, cubed |
Citation bot (talk | contribs) Added isbn. | Use this bot. Report bugs. | Suggested by Abductive | Category:Graph minor theory | #UCB_Category 20/33 |
||
(13 intermediate revisions by 9 users not shown) | |||
Line 1:
{{Short description|Mapping of a graph into a tree}}
{{about|tree structure of graphs|decomposition of graphs into trees|Graph theory#Decomposition problems|decomposition of trees in nature|Nurse log}}
Line 4 ⟶ 5:
In [[graph theory]], a '''tree decomposition''' is a mapping of a [[Graph (discrete mathematics)|graph]] into a [[tree (graph theory)|tree]] that can be used to define the [[treewidth]] 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'''
The concept of tree
==Definition==
Intuitively, a tree decomposition represents the vertices of a given 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 {{math|1=''G'' = (''V'', ''E'')}}, a tree decomposition is a pair {{math|(''X'', ''T'')}}, where {{math|1=''X'' = {''X''
# The union of all sets
# For every edge {{math|(''v'', ''w'')}} in the graph, there is a subset
# If
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.
Line 22 ⟶ 23:
A tree decomposition in which the underlying tree is a [[path graph]] is called a path decomposition, and the width parameter derived from these special types of tree decompositions is known as [[pathwidth]].
A tree decomposition {{math|1=(''X'', ''T'' = (''I'', ''F''))}} of treewidth
==Treewidth==
{{main|Treewidth}}
[[File:Treedecompsnocolour.JPG|thumb|upright=1.5|Two different tree-decompositions of the same graph]]
The ''width'' of a tree decomposition is the size of its largest set ''X''<sub>''i''</sub> 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. Treewidth may also be defined from other structures than tree decompositions, including [[chordal graph]]s, [[bramble (graph theory)|brambles]], and [[haven (graph theory)|havens]].▼
▲The ''width'' of a tree decomposition is the size of its largest set
It is NP-complete to determine whether a given graph ''G'' has treewidth at most a given variable ''k''.<ref>{{harvtxt|Arnborg|Corneil|Proskurowski|1987}}.</ref>▼
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.<ref name="b96">{{harvtxt|Bodlaender|1996}}.</ref> The time dependence of this algorithm on ''k'' is an exponential function of ''k''<sup>3</sup>.▼
▲It is NP-complete to determine whether a given graph
▲However, when
==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'',{{sfnp|Bertelé|Brioschi|1972}} a parameter related to treewidth. Later, several authors independently observed, at the end of the 1980s,<ref>{{harvtxt|Arnborg|Proskurowski|1989}}; {{harvtxt|Bern|Lawler|Wong|1987}}; {{harvtxt|Bodlaender|1988}}.</ref> that many algorithmic problems that are [[NP-completeness|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
:<math>A(S,i)=|S| + \sum_{j} \left(B(S\cap X_j, j,i) - |S\cap X_j|\right)</math>
:<math>B(S,i,j)=\max_{S'\subset X_i\atop S=S'\cap X_j} A(S',i)</math>
where the sum in the calculation of <math>A(S,i)</math> is over the children of node
At each node or edge, there are at most {{math|2
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 [[approximation algorithm|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.<ref name="b96"/>
Line 49:
*[[Bramble (graph theory)|Brambles]] and [[Haven (graph theory)|havens]]{{snd}}Two kinds of structures that can be used as an alternative to tree decomposition in defining the treewidth of a graph.
*[[Branch-decomposition]]{{snd}}A closely related structure whose width is within a constant factor of treewidth.
*[[
==Notes==
Line 90:
| series = Lecture Notes in Computer Science
| volume = 317 | year = 1988 | pages = 105–118
| doi = 10.1007/3-540-19488-6_110| hdl = 1874/16258 | isbn = 978-3-540-19488-0 | hdl-access = free}}.
*{{citation
| last = Bodlaender | first = Hans L. | authorlink = Hans L. Bodlaender
Line 105:
| url=http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/
}}.
*{{citation
| last1 = Gottlob | first1 = Georg
| last2 = Lee | first2 = Stephanie Tien
| last3 = Valiant | first3 = Gregory
| last4 = Valiant | first4 = Paul
| doi = 10.1145/2220357.2220363
| issue = 3
| journal = [[Journal of the ACM]]
| mr = 2946220
| page = A16:1–A16:35
| title = Size and treewidth bounds for conjunctive queries
| volume = 59
| year = 2012}}
*{{Citation
| title = ''S''-functions for graphs
Line 112 ⟶ 125:
| pages = 171–186
| volume = 8
| issue = 1–2
| doi=10.1007/BF01917434
| s2cid = 120256194
}}.
*{{citation
| last1 = Robertson | first1 = Neil | authorlink1 = Neil Robertson (mathematician)
| last2 = Seymour | first2 = Paul D. | authorlink2 = Paul Seymour (mathematician)
| title = Graph minors III: Planar tree-width
| journal = [[Journal of Combinatorial Theory
| volume = 36
| issue = 1 | year = 1984 | pages = 49–64
|