230 likes | 369 Views
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.
E N D
Backtracking Procedures for Hypertree, HyperSpread and Connected HypertreeDecomposition 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
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
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
Constraint Hypergraph a b c d e f g h Hypergraph Constraints
Hypertree Decomposition (HTD) j i h g f e d b a c Hypergraph A Hypertree Decomposition a b d h i ac d a f g i A Tree Decomposition abdhi c e d gij acd afgi Width = 2 ced gij
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
Observation c b e d a g h i j f c e d Vars of each rooted subtree form a connected subgraph Eg: Root node subtree induces the whole hypergraph Another example a b d h i ac d a f g i gij
The New Backtracking Procedure • Each search-tree node • contains: a subgraph • objective: decompose the subgraph • branching choices: subset of edges
A sample run b d h i j a a c e f g h b j d i a j e f g h i i d a d e a f g b c c a b d h i Branching Choice:
A sample run e c a f g i j a b d h i a c d e c d a b d h i ac d Branching Choice:
A sample run a f g i j c d e c d e c e d a b d h i ac d Branching Choice:
A sample run i c e d a b d h i ac d a f g i gij
No-Good Learning a c d e • 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
Isomorphic subgraphs c d e f g h a b i b d f g h j g a a i e i j a c d f d h i a c d e a g b j g Choice 1 Choice 2
HyperSpread Decomposition a a b d f g h i d g h i a f g b Allow partial branching choices!! • Each HTD is also HSD • HSD is tractable • For some instances hsw<htw • Solves a recently stated problem
Connected Hypertree Decomposition a f g i j i a j c d e f g h b Common variables: a,i a b d h i Restrict choices to edges with: a,i Practically useful variant chtw = htw?
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/
Methodology d4 d3 d2 k* d1 k*-1 |E| • Limit: 1800 seconds • Test methods: {HTD, CHTD} • ±Isomorphism width ≤|E|? width ≤ k*-1? width ≤ d2? width ≤ d4? k* optimal width
Results overview • We don’t observe htw<chtw NoIso : No Isomorphism
CHTD: Time vs Width Complexity peaks at k*-1 k*:optimal
{CHTD, HTD} ± Isomorphism CHTD much faster than HTD Due to branching restrictions Isomorphism very useful
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