|
|
Line 1: |
Line 1: |
| {{about|tree structure of graphs|decomposition of graphs into trees|Graph_theory#Decomposition_problems}}
| | The right hemorrhoid treatment is prevention. The problem is most folks never consider preventing hemorrhoids till they find themselves afflicted with them.<br><br>Hemorrhoid is a swollen vein inside the rectal region. Normally people whom suffer from hemorrhoid generally feel irritated plus disturbed The well-known symptoms of hemorrhoid is itching, swelling, swelling, severe pain plus there are times which bleeding occurs. As a individual feel all of theses symptoms, then it's important that you need to do anything about it. You have to ensure which we find the most perfect [http://hemorrhoidtreatmentfix.com/internal-hemorrhoids-treatment internal hemorrhoids treatment] which can suit you best.<br><br>: 1. The initially approach to naturally treat hemorrhoids is with the stiz tub. The proper way to create a sitz bathtub is to add warm water to a little bathtub. Set certain bathtub solutions to the water, when you've done this. This can support you utilizing the pain, swelling, plus distress. The bathtub answer is got by you for an herb shop that is inside a city.<br><br>The third type of treatments are pills. The purpose is to control blood pressure. This way would have a limited side effects, yet generally the medications are used to make the vein cells tight so that the hemorrhoid can have less issues. It is a top down way that has its advantages. Even though medications produce negative effects, they are clearly popular with pharmacies.<br><br>Another major reason why you may have hemorrhoids is lifestyle. People that follow a sedentary lifestyle are more prone to the inflammation of the veins in the anus. Whenever you tend to sit on your butt all day long long, we have high chances of irritating the anal veins considering of the undue stress to the area.<br><br>Sitz Bath: This system is one of the most well-known techniques used to relieve sufferers of the pain caused by hemorrhoids. A sitz bathtub is a tub filled with warm water, if you wish you are able to add some essential oils to the bathtub water. You should soak the rectum to the warm water for at least 15 minutes. Do this three instances a day plus it usually greatly minimize the swelling plus the pain of your the hemorrhoids.<br><br>Whenever utilizing a sitz bathtub tub, you are able to utilize specialized soaps and lotions that is created to be employ with the bathtub. This may assist treat alternative symptoms of the hemorrhoids, too. You are able to choose up any sitz tub at the regional wellness retailer or you are able to buy one online. |
| | |
| [[Image:Tree decomposition.svg|thumb|240px|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 (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.
| |
| | |
| In [[machine learning]], tree decompositions are also called '''junction trees''', '''clique trees''', or '''join trees'''; they
| |
| play an important role in problems like [[belief propagation|probabilistic inference]], [[constraint satisfaction]], [[query optimization]], and [[matrix decomposition]].
| |
| | |
| The concept of tree decompositions was originally introduced by {{harvs|last=Halin|first=Rudolf|authorlink=Rudolf Halin|year=1976|txt}}. Later it was rediscovered by {{harvs|first1=Neil|last1=Robertson|author1-link=Neil Robertson (mathematician)|first2=Paul|last2=Seymour|author2-link=Paul Seymour (mathematician)|year=1984|txt}} and has since been studied by many other authors.<ref>{{harvtxt|Diestel|2005}} pp.354–355</ref>
| |
| | |
| ==Definition==
| |
| Intuitively, a tree decomposition represents the vertices of a given graph G as subtrees of a tree, in such a way that vertices in the given graph are adjacent only when the corresponding subtrees intersect. Thus, G forms a [[Glossary of graph theory#Subgraphs|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'' = {''X''<sub>1</sub>, ..., ''X''<sub>''n''</sub>} is a family of subsets of ''V'', and ''T'' is a tree whose nodes are the subsets ''X''<sub>''i''</sub>, satisfying the following properties:<ref>{{harvtxt|Diestel|2005}} section 12.3</ref>
| |
| | |
| # The union of all sets ''X''<sub>''i''</sub> equals ''V''. That is, each graph vertex is associated with at least one tree node.
| |
| # For every edge (''v'', ''w'') in the graph, there is a subset ''X''<sub>''i''</sub> that contains both ''v'' and ''w''. That is, vertices are adjacent in the graph only when the corresponding subtrees have a node in common.
| |
| # If ''X''<sub>''i''</sub> and ''X''<sub>''j''</sub> both contain a vertex ''v'', then all nodes ''X''<sub>''k''</sub> of the tree in the (unique) path between ''X''<sub>''i''</sub> and ''X''<sub>''j''</sub> 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 <math>X_i</math>, <math>X_j</math> and <math>X_k</math> are nodes, and <math>X_k</math> is on the path from <math>X_i</math> to <math>X_j</math>, then <math>X_i \cap X_j \subseteq X_k</math>.
| |
| | |
| 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]] is called a path decomposition, and the width parameter derived from these special types of tree decompositions is known as [[pathwidth]].
| |
| | |
| ==Treewidth==
| |
| {{main|Treewidth}}
| |
| | |
| 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]].
| |
| | |
| 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 exponential.
| |
| | |
| ==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 ''k''. To solve this problem, first choose one of the nodes of the tree decomposition to be the root, arbitrarily. For a node ''X<sub>i</sub>'' of the tree decomposition, let ''D<sub>i</sub>'' be the union of the sets ''X<sub>j</sub>'' descending from ''X<sub>i</sub>''. For an independent set ''S'' ⊂ ''X<sub>i</sub>'', let ''A''(''S'',''i'') denote the size of the largest independent subset ''I'' of ''D<sub>i</sub>'' such that ''I'' ∩ ''X<sub>i</sub>'' = ''S''. Similarly, for an adjacent pair of nodes ''X<sub>i</sub>'' and ''X<sub>j</sub>'', with ''X<sub>i</sub>'' farther from the root of the tree than ''X<sub>j</sub>'', and an independent set ''S'' ⊂ ''X<sub>i</sub>'' ∩ ''X<sub>j</sub>'', let ''B''(''S'',''i'',''j'') denote the size of the largest independent subset ''I'' of ''D<sub>i</sub>'' such that ''I'' ∩ ''X<sub>i</sub>'' ∩ ''X<sub>j</sub>'' = ''S''. We may calculate these ''A'' and ''B'' values by a bottom-up traversal of the tree:
| |
| :<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 <math>X_i</math>.
| |
| | |
| At each node or edge, there are at most 2<sup>''k''</sup> 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 [[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"/> | |
| | |
| ==See also==
| |
| *[[Bramble (graph theory)|Brambles]] and [[Haven (graph theory)|havens]], two kinds of structures that can be used as an alternative to tree decomposition in defining the treewidth of a graph
| |
| *[[Branch-decomposition]], a closely related structure whose width is within a constant factor of treewidth
| |
| | |
| ==Notes==
| |
| {{reflist|colwidth=30em}}
| |
| | |
| ==References==
| |
| {{refbegin|colwidth=30em}}
| |
| *{{citation
| |
| | last1 = Arnborg | first1 = S.
| |
| | last2 = Corneil | first2 = D. | author2-link = Derek Corneil
| |
| | last3 = Proskurowski | first3 = A.
| |
| | title = Complexity of finding embeddings in a ''k''-tree
| |
| | journal = SIAM Journal on Matrix Analysis and Applications
| |
| | volume = 8 | issue = 2 | year = 1987 | pages = 277–284 | doi = 10.1137/0608024}}.
| |
| *{{citation
| |
| | last1 = Arnborg | first1 = S.
| |
| | last2 = Proskurowski | first2 = A.
| |
| | title = Linear time algorithms for NP-hard problems restricted to partial ''k''-trees
| |
| | journal = Discrete Applied Mathematics
| |
| | volume = 23 | issue = 1 | year = 1989 | pages = 11–24 | doi = 10.1016/0166-218X(89)90031-0}}.
| |
| *{{citation
| |
| | last1 = Bern | first1 = M. W.
| |
| | last2 = Lawler | first2 = E. L. | author2-link = Eugene Lawler
| |
| | last3 = Wong | first3 = A. L.
| |
| | title = Linear-time computation of optimal subgraphs of decomposable graphs
| |
| | journal = Journal of Algorithms
| |
| | volume = 8 | issue = 2 | year = 1987 | pages = 216–235 | doi = 10.1016/0196-6774(87)90039-3}}.
| |
| *{{citation
| |
| | last1 = Bertelé | first1 = Umberto
| |
| | last2 = Brioschi | first2 = Francesco
| |
| | title = Nonserial Dynamic Programming
| |
| | year = 1972
| |
| | publisher = Academic Press
| |
| | isbn = 0-12-093450-7}}.
| |
| *{{citation
| |
| | last = Bodlaender | first = Hans L. | authorlink = Hans L. Bodlaender
| |
| | contribution = Dynamic programming on graphs with bounded treewidth
| |
| | title = Proc. 15th International Colloquium on Automata, Languages and Programming
| |
| | publisher = Springer-Verlag
| |
| | series = Lecture Notes in Computer Science
| |
| | volume = 317 | year = 1988 | pages = 105–118
| |
| | doi = 10.1007/3-540-19488-6_110}}.
| |
| *{{citation
| |
| | last = Bodlaender | first = Hans L. | authorlink = Hans L. Bodlaender
| |
| | title = A linear time algorithm for finding tree-decompositions of small treewidth
| |
| | journal = SIAM Journal on Computing
| |
| | volume = 25 | issue = 6 | year = 1996 | pages = 1305–1317 | doi = 10.1137/S0097539793251219}}.
| |
| *{{Citation
| |
| | last=Diestel | first=Reinhard
| |
| | title=Graph Theory
| |
| | publisher=[[Springer Science+Business Media|Springer]]
| |
| | year=2005
| |
| | edition=3rd
| |
| | isbn=3-540-26182-6
| |
| | url=http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/
| |
| }}.
| |
| *{{Citation
| |
| | title = ''S''-functions for graphs
| |
| | year = 1976
| |
| | last = Halin | first = Rudolf | authorlink = Rudolf Halin
| |
| | journal = Journal of Geometry
| |
| | pages = 171–186
| |
| | volume = 8
| |
| | doi=10.1007/BF01917434
| |
| }}.
| |
| *{{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, Series B
| |
| | volume = 36
| |
| | issue = 1 | year = 1984 | pages = 49–64
| |
| | doi = 10.1016/0095-8956(84)90013-3}}.
| |
| {{refend}}
| |
| | |
| [[Category:Trees (graph theory)]]
| |
| [[Category:Graph minor theory]]
| |
| [[Category:Graph theory objects]]
| |
The right hemorrhoid treatment is prevention. The problem is most folks never consider preventing hemorrhoids till they find themselves afflicted with them.
Hemorrhoid is a swollen vein inside the rectal region. Normally people whom suffer from hemorrhoid generally feel irritated plus disturbed The well-known symptoms of hemorrhoid is itching, swelling, swelling, severe pain plus there are times which bleeding occurs. As a individual feel all of theses symptoms, then it's important that you need to do anything about it. You have to ensure which we find the most perfect internal hemorrhoids treatment which can suit you best.
: 1. The initially approach to naturally treat hemorrhoids is with the stiz tub. The proper way to create a sitz bathtub is to add warm water to a little bathtub. Set certain bathtub solutions to the water, when you've done this. This can support you utilizing the pain, swelling, plus distress. The bathtub answer is got by you for an herb shop that is inside a city.
The third type of treatments are pills. The purpose is to control blood pressure. This way would have a limited side effects, yet generally the medications are used to make the vein cells tight so that the hemorrhoid can have less issues. It is a top down way that has its advantages. Even though medications produce negative effects, they are clearly popular with pharmacies.
Another major reason why you may have hemorrhoids is lifestyle. People that follow a sedentary lifestyle are more prone to the inflammation of the veins in the anus. Whenever you tend to sit on your butt all day long long, we have high chances of irritating the anal veins considering of the undue stress to the area.
Sitz Bath: This system is one of the most well-known techniques used to relieve sufferers of the pain caused by hemorrhoids. A sitz bathtub is a tub filled with warm water, if you wish you are able to add some essential oils to the bathtub water. You should soak the rectum to the warm water for at least 15 minutes. Do this three instances a day plus it usually greatly minimize the swelling plus the pain of your the hemorrhoids.
Whenever utilizing a sitz bathtub tub, you are able to utilize specialized soaps and lotions that is created to be employ with the bathtub. This may assist treat alternative symptoms of the hemorrhoids, too. You are able to choose up any sitz tub at the regional wellness retailer or you are able to buy one online.