backtracking procedures for hypertree, hyperspread and connected hypertree decomposition of csps
DESCRIPTION
Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs. Sathiamoorthy Subbarayan and Henrik Reif Andersen IT University of Copenhagen Denmark. Twentieth International Joint Conference on Artificial Intelligence 06 – 12 Jan 2007, Hyderabad, India. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/1.jpg)
Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree
Decomposition of CSPs
Sathiamoorthy Subbarayan and Henrik Reif Andersen
IT University of CopenhagenDenmark
Twentieth International Joint Conference on Artificial Intelligence 06 – 12 Jan 2007, Hyderabad, India
![Page 2: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/2.jpg)
2www.itu.dk
Motivation
• Many CSPs have tree-like structure– Configuration, fault trees, digital circuits, protein
side-chain packing, Bayesian networks etc.,
• Hypertree decomposition: the most general in theory, lacks practical tools
• Very weak existing tools
![Page 3: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/3.jpg)
3www.itu.dk
This Work
• Backtracking for hypertree decomp. (HTD)– No-goods and Isomorphism
• New Tractable Variants– HyperSpread (HSD), Connected Hypertree (CHTD)
• HSD is better than HTD – solves a recent problem
• CHTD: htw = chtw?• Experiments
![Page 4: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/4.jpg)
4www.itu.dk
Constraint Hypergraph
a c
::
::
a b g
::
::
::
c d e
::
::
::
b d h
::
::
::
d e f g
::
::
::
::
a b
c
d e
f
g
h
Constraints Hypergraph
![Page 5: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/5.jpg)
5www.itu.dk
Hypertree Decomposition (HTD)
abdhi
acd afgi
gijced
a b d h i
ac d a f g i
gij
a
bc
de
f
gh
i
j
Hypergraph
A Tree Decomposition
A Hypertree Decomposition
Width = 2
c e d
![Page 6: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/6.jpg)
6www.itu.dk
Hypertree Width (htw)
• Complexity exponential in htw
• Advantage: more general than treewidth (tw)– For any class H: htw is bounded by tw– For some class H: unbounded tw, constant htw
![Page 7: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/7.jpg)
7www.itu.dk
Observation
a b d h i
ac d a f g i
gij
a
bc
de
f
gh
i
j
Vars of each rooted subtree form a
connected subgraph
Eg: Root node subtree induces the whole hypergraph
Another example
c e d
![Page 8: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/8.jpg)
8www.itu.dk
The New Backtracking Procedure
• Each search-tree node – contains: a subgraph– objective: decompose the subgraph– branching choices: subset of edges
![Page 9: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/9.jpg)
9www.itu.dk
A sample run
a b d h i
Branching Choice:
a
b
d
h
i
a
bc
de
f
gh
i
j a
bc
de
f
gh
i
j
a
c
de
af
g
i
j
![Page 10: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/10.jpg)
10www.itu.dk
A sample run
Branching Choice:
af
g
i
j
a
bc
d
h
i
a
c
de
a b d h i
ac d
c
de
![Page 11: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/11.jpg)
11www.itu.dk
ac d
A sample run
af
g
i
j
a b d h i
Branching Choice: c
dec
de
c e d
![Page 12: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/12.jpg)
12www.itu.dk
a f g iac d
A sample run
i
a b d h i
gijc e d
![Page 13: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/13.jpg)
13www.itu.dk
No-Good Learning
• The next choice needs two edges
• If we need width <2 then we can learn the subgraph as No-Good
a b d h i
a
c
de
![Page 14: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/14.jpg)
14www.itu.dk
Isomorphic subgraphsa
bc
de
f
gh
i
j
a
b
d
f
gh
i
a
b
d
gh
i
j
Choice 2
Choice 1
a
c
de
g
i
j
a
c
de
af
g
![Page 15: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/15.jpg)
15www.itu.dk
HyperSpread Decomposition
a
b
d
f
gh
i
a
b
d
gh
i
af
g
Allow partial branching choices!!
•Each HTD is also HSD
•HSD is tractable
•For some instances hsw<htw
•Solves a recently stated problem
![Page 16: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/16.jpg)
16www.itu.dk
Connected Hypertree Decomposition
a b d h i
af
g
i
j
Common variables: a,i
Restrict choices to edges with: a,i
Practically useful variant
chtw = htw?
a
bc
de
f
gh
i
j
![Page 17: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/17.jpg)
17www.itu.dk
Experiments
• Intel Xeon 3.2 GHz, 4GB RAM
• Twelve instances: configuration, fault trees, SMT
• Tools and instances online:
http://www.itu.dk/people/sathi/connected-hypertree/
![Page 18: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/18.jpg)
18www.itu.dk
Methodology
• Limit: 1800 seconds• Test methods: {HTD, CHTD}• ±Isomorphism
|E|k*k*-1 d4 d3 d2 d1
k* optimal width
width ≤|E|? width ≤ d2? width ≤ d4? width ≤ k*-1?
![Page 19: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/19.jpg)
19www.itu.dk
Results overview
Method Previous tools
CHTD CHTD-NoIso
HTD HTD-NoIso
# optimal at most 1 8 6 5 3
• We don’t observe htw<chtw
NoIso : No Isomorphism
![Page 20: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/20.jpg)
20www.itu.dk
CHTD: Time vs Width
Complexity peaks at k*-1
k*:optimal
![Page 21: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/21.jpg)
21www.itu.dk
{CHTD, HTD} ± Isomorphism
CHTD much faster than HTD
Due to branching restrictions
Isomorphism very useful
![Page 22: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/22.jpg)
22www.itu.dk
Conclusion
• Backtracking useful– Isomorphism and No-good
• HSD better than HTD• CHTD promising for practice
• Future work– htw = chtw ?– implement HSD– compare tree decomposition heuristics
![Page 23: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs](https://reader036.vdocuments.us/reader036/viewer/2022062301/56815734550346895dc4d27b/html5/thumbnails/23.jpg)
23www.itu.dk
Thanks !