Content deleted Content added
KolbertBot (talk | contribs) m Bot: HTTP→HTTPS |
GreenC bot (talk | contribs) Reformat 1 archive link. Wayback Medic 2.5 per Category:All articles with dead external links - pass 5 |
||
(12 intermediate revisions by 11 users not shown) | |||
Line 1:
{{More citations needed|date=June 2019}}
In [[constraint satisfaction]], a '''decomposition method''' translates a [[constraint satisfaction problem]] into another constraint satisfaction problem that is binary and [[directed acyclic graph|acyclic]]. Decomposition methods work by grouping variables into sets, and solving a subproblem for each set. These translations are done because solving binary acyclic problems is a [[tractable problem]].
Line 104 ⟶ 106:
===Cycle hypercutset===
This is the same
===Hinge decomposition===
The definition of hinge is as follows. Let <math>H</math> be a set of hyperedges. A path
Hinges are defined for reduced hypergraphs, which are hypergraphs where no hyperedge is contained in another. A set of at least two edges <math>H</math> is a hinge if, for every connected component <math>F</math>
The maximal number of constraints of a node is the same for all hinge decompositions of the same problem. This number is called the ''degree of cyclicity'' of the problem or its hingewidth.
Line 217 ⟶ 219:
In a tree, every edge breaks the graph in two parts. The constraint passed along an edge tells how the part of the originating end of the edge affects the variables of the destination node. In other words, a constraint passed from node <math>i</math> to node <math>j</math> tells how the nodes "on the side of <math>i</math>" constrain the variables of node <math>j</math>.
If the variables of these two nodes are <math>X_i</math> and <math>X_j</math>, the nodes on the
The algorithm proceeds from the leaves of the tree. In each node, the summaries of its children (if any) are collected. These summary and the constraint of the node are used to generate the summary of the node for its parent. When the root is reached, the process is inverted: the summary of each node for each child is generated and sent it. When all leaves are reached, the algorithm stops.
Line 268 ⟶ 270:
# [http://www.cs.uu.nl/research/projects/treewidthlib/ Treewidthlib]: A benchmark for algorithms for Treewidth and related graph problems
# [https://web.archive.org/web/20060512022851/http://www.ics.uci.edu/~vgogate/ A C++ implementation] used in the paper "A complete [[Anytime Algorithm]] for Treewidth, Vibhav Gogate and Rina Dechter, UAI 2004." [https://web.archive.org/web/20060512022851/http://www.ics.uci.edu/~vgogate/ The link] is to the author homepage, where both LINUX source and Windows executable is distributed.
# [http://www.dbai.tuwien.ac.at/proj/hypertree/downloads.html An implementation of Hypertree Decomposition], using several heuristics.
# [http://carlit.toulouse.inra.fr/cgi-bin/awki.cgi/ToolBarIntro Toolbar tool has implementation of some tree decomposition heuristics]
Line 278 ⟶ 280:
| first=Rina
| last=Dechter
|authorlink = Rina Dechter
| title=Constraint Processing
| publisher=Morgan Kaufmann
Line 284 ⟶ 287:
}} {{ISBN|1-55860-890-7}}
*{{cite book
|
|
|author1link = Rod Downey
|author2=Michael Fellows▼
|first2=Michael
|last2 = Fellows
| title=Parameterized complexity
| publisher=Springer
Line 295 ⟶ 301:
| first=Georg
| last=Gottlob
|author1link = Georg Gottlob
|first2=Nicola|last2 = Leone
|author2link = Nicola Leone
|first3=Francesco| last3 = Scarcello
| title=Hypertree Decompositions: A Survey
| book-title=[[International Symposium on Mathematical Foundations of Computer Science|MFCS]] 2001
| pages=37–57
| year=2001
| url=http://www.springerlink.com/(rqc54x55rqwetq55eco03ymp)/app/home/contribution.asp?referrer=parent&backto=issue,5,61;journal,1765,3346;linkingpublicationresults,1:105633,1
}}{{dead link|date=January 2025|bot=medic}}{{cbignore|bot=medic}}
}}▼
*{{cite journal
| first=Georg
| last=Gottlob
|
| title=A comparison of structural CSP decomposition methods
| journal=[[Artificial Intelligence (journal)|Artificial Intelligence]]
| volume=124
| issue=2
| pages=243–282
| year=2000
| doi=10.1016/S0004-3702(00)00078-3
▲}}
[[Category:Constraint programming]]
|