23
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

Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs

  • Upload
    larya

  • View
    43

  • Download
    0

Embed Size (px)

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 Presentation

Citation preview

Page 1: Backtracking Procedures for Hypertree, HyperSpread and Connected Hypertree Decomposition of CSPs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

23www.itu.dk

Thanks !