Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information...

48
Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC- Irvine, and Radcliffe Institue of Advanced Study, Cambridge Joint work with Robert Mateescu and John Cobb

Transcript of Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information...

Page 1: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Verification/constraints

workshop, 2006

From AND/OR Search to AND/OR BDDs

Rina Dechter

Information and Computer Science, UC-Irvine, and

Radcliffe Institue of Advanced Study, Cambridge

Joint work with Robert Mateescu and John Cobb

Page 2: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Combining Decision Diagrams

f = A*E + B*F g = C*G +D*H

B

A

F

0 1

E

B

E

D

C

H

0 1

G

D

G

B

A

C

D D

C

B

D D

C

D D

0 1

H

G G

F F F

EE E E E E

OBDD f * g =

Page 3: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Combining AND/OR BDDsf = A*E + B*F g = C*G +D*H

B

A

F

0 1

E

B

E

D

C

H

0 1

G

D

G

AOBDD f * g =

B

A

F

0 1

E

B

E

D

C

H

0 1

G

D

G

AND

Page 4: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

OBDDs vs AOBDD f * g =

B

A

F

0 1

E

B

E

D

C

H

0 1

G

D

G

AND

B

A

C

D D

C

B

D D

C

D D

0 1

H

G G

F F F

EE E E E E

AOBDD

OBDD

Page 5: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Outline

Background in Graphical models AND/OR search trees and Graphs Minimal AND/OR graphs From AND/OR graphs to AOMDDs Compilation of AOMDDs AOMDDs and earlier BDDs

Page 6: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

A Bred greenred yellowgreen redgreen yellowyellow greenyellow red

Example: map coloring Variables - countries (A,B,C,etc.)

Values - colors (red, green, blue)

Constraints: etc. ,ED D, AB,A

C

A

B

DE

F

G

A

Constraint Networks

A

B

E

G

DF

C

Constraint graph

Semantics: set of all solutionsPrimary task: find a solution

Page 7: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

= {(¬C), (A v B v C), (¬A v B v E), (¬B v C v D)}.

Propositional Satisfiability

Page 8: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

A graphical model (X,D,C): X = {X1,…Xn} variables D = {D1, … Dn} domains C = {F1,…,Ft} functions

(constraints, CPTS, cnfs)

Graphical models

CAFF

CAFPF

i

i

:

),|(:

A

D

B C

E

F

All these tasks are NP-hard identify special cases approximate

Examples:

•Constraint networks•Belief networks•Cost networks•Markov random fields•Influence diagrams

Page 9: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Tree-solving is easy

Belief updating (sum-prod)

MPE (max-prod)

CSP – consistency (projection-join)

#CSP (sum-prod)

P(X)

P(Y|X) P(Z|X)

P(T|Y) P(R|Y) P(L|Z) P(M|Z)

)(XmZX

)(XmXZ

)(ZmZM)(ZmZL

)(ZmMZ)(ZmLZ

)(XmYX

)(XmXY

)(YmTY

)(YmYT

)(YmRY

)(YmYR

Trees are processed in linear time and memory

Page 10: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Transforming into a Tree

By Inference (thinking) Transform into a single, equivalent

tree of sub-problems

By Conditioning (guessing) Transform into many tree-like sub-

problems.

Page 11: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Inference and Treewidth

EK

F

L

H

C

BA

M

G

J

D

ABC

BDEF

DGF

EFH

FHK

HJ KLM

treewidth = 4 - 1 = 3treewidth = (maximum cluster size) - 1

Inference algorithm:Time: exp(tree-width)Space: exp(tree-width)

Page 12: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Conditioning and Cycle cutset

C P

J A

L

B

E

DF M

O

H

K

G N

C P

J

L

B

E

DF M

O

H

K

G N

A

C P

J

L

E

DF M

O

H

K

G N

B

P

J

L

E

DF M

O

H

K

G N

C

Cycle cutset = {A,B,C}

C P

J A

L

B

E

DF M

O

H

K

G N

C P

J

L

B

E

DF M

O

H

K

G N

C P

J

L

E

DF M

O

H

K

G N

C P

J A

L

B

E

DF M

O

H

K

G N

Page 13: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Search over the Cutset

A=yellow A=green

• Inference may require too much memory

• Condition (guessing) on some of the variables

C

B K

G

L

D

FH

M

J

E

C

B K

G

L

D

FH

M

J

E

AC

B K

G

L

D

FH

M

J

E

GraphColoringproblem

Page 14: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Search over the Cutset (cont)

A=yellow A=green

B=red B=blue B=red B=blueB=green B=yellow

C

K

G

L

D

FH

M

J

E

C

K

G

L

D

FH

M

J

E

C

K

G

L

D

FH

M

J

E

C

K

G

L

D

FH

M

J

E

C

K

G

L

D

FH

M

J

E

C

K

G

L

D

FH

M

J

E

• Inference may require too much memory

• Condition on some of the variablesA

C

B K

G

L

D

FH

M

J

E

GraphColoringproblem

Page 15: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Inference vs. Conditioning

By Inference (thinking)

E K

F

L

H

C

BA

M

G

J

DABC

BDEF

DGF

EFH

FHK

HJ KLM

By Conditioning (guessing)

Exponential in treewidth

Time and memory

Exponential in cycle-cutsetTime-wise, linear memory

A=yellow A=green

B=blue B=red B=blueB=green

CK

G

LD

F H

M

J

EACB K

G

LD

F H

M

J

E

CK

G

LD

F H

M

J

EC

K

G

LD

F H

M

J

EC

K

G

LD

F H

M

J

E

Variable-eliminationDirectional resolutionJoin-tree clustering

BacktrackingBranch and boundDepth-first search

Page 16: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Outline

Background in Graphical models AND/OR search trees and Graphs Minimal AND/OR graphs From AND/OR graphs to AOMDDs Compilation of AOMDDs AOMDDs and earlier BDDs

Page 17: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Classic OR Search Space

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 1

E

C

F

D

B

A 0 1

Ordering: A B E C Ordering: A B E C D FD F

A

D

B C

E

F

Page 18: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR Search Space

AOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

AND 0 10 1 0 10 1 0 10 1 0 10 1

A

D

B C

E

F

A

D

B

CE

F

Primal graph DFS tree

A

D

B C

E

F

A

D

B C

E

F

Page 19: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR vs. ORAOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

AND 0 10 1 0 10 1 0 10 1 0 10 1

E 0 1 0 1 0 1 0 1

0C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0 1

A 0 1

AND/OR

OR

A

D

B C

E

F

A

D

B

CE

F

1

1

1

0

1

0

AND/OR size: exp(4), OR size exp(6)

Page 20: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR vs. ORwith Constraints

E 0 1 0 1 0 1 0 1

0C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0 1

A 0 1

AOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

AND 0 10 1 0 10 1 0 10 1 0 10 1

E 0 1 0 1 0 1 0 1

0C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0 1

A 0 1

E 0 1 0 1 0 1 0 1

0C 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0 1

A 0 1

AND/OR

OR

A

D

B C

E

F

A

D

B

CE

F

No-goods(A=1,B=1)(B=0,C=0)

Page 21: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR vs. ORwith Constraints

E 0 1 0 1 0 1

C 1 1 0 1 0 1 1 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0

A 0 1

AOR

0AND 1

BOR B

0AND 1 0

EOR C E C E C

OR D F D F D F D F

AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

AND 10 1 0 10 1 10 1

E 0 1 0 1 0 1

C 1 1 0 1 0 1 1 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0

A 0 1

E 0 1 0 1 0 1

C 1 1 0 1 0 1 1 1

F 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0B 1 0

A 0 1

AND/OR

OR

A

D

B C

E

F

A

D

B

CE

F

No-goods(A=1,B=1)(B=0,C=0

Page 22: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

DFS algorithm (#CSP example)

A

0

B

0

E C

D F D F

0 1 0 1 0 1 0 1

OR

AND

OR

AND

OR

OR

AND

AND 0 10 1

A

D

B C

E

F

AND node: Combination operator (product)OR node: Marginalization operator (summation)

A

D

B

CE

F

1 1 1 0 1 1 0

1

0

2 1

2

2 0

0

2

1

2

4

B

1

1 0 1

E C E C E C

D F D F D F D F D F D F

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 10 1 0 10 1 0 10 1

1 0 1 0 0 1 0

1

0

1 1

1

1 0

0

1

0

1

1

1 1 1 0 1 1 1

1

0

2 1

2

2 1

2

4

0

1

4

1 0 1 0 0 1 1

0

0

1 1

1

1 1

1

2

1

1

2

5 6

11

65

Value of node = number of solutions below it

solution

Page 23: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Pseudo-Trees (Freuder 85, Bayardo 95, Bodlaender and Gilbert, 91)

(a) Graph

4 61

3 2 7 5

(b) DFS treedepth=3

(c) pseudo- treedepth=2

(d) Chaindepth=6

4 6

1

3

2 7

5 2 7

1

4

3 5

6

4

6

1

3

2

7

5

m <= w* log n

Page 24: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Tasks and value of nodes V( n) is the value of the tree T(n) for the task:

Consistency: v(n) is 0 if T(n) inconsistent, 1 othewise. Counting: v(n) is number of solutions in T(n) Optimization: v(n) is the optimal solution in T(n) Belief updating: v(n), probability of evidence in T(n). Partition function: v(n) is the total probability in T(n).

Goal: compute the value of the root node recursively using dfs search of the AND/OR tree.

AND/OR search tree and algorithms are ([Freuder & Quinn85], [Collin, Dechter & Katz91], [Bayardo & Miranker95],[Darwiche 2001], [Bacchus et. Al, 2003])

Space: O(n) Time: O(exp(m)), where m is the depth of the pseudo-tree Time: O(exp(w* log n)) BFS is time and space O(exp(w* log n)

Page 25: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

From AND/OR Tree

A

D

B C

E

F

A

D

B

CE

F

G H

J

K

G

H

J

KAOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND

AND 0 10 1 0 10 1 0 10 1 0 10 1

OR

OR

AND

AND

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

Page 26: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

To an AND/ORGraph

A

D

B C

E

F

A

D

B

CE

F

G H

J

K

G

H

J

KAOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND

AND 0 10 1 0 10 1 0 10 1 0 10 1

OR

OR

AND

AND

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

Page 27: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR Search Graphs

Any two nodes that root identical subtrees/subgraphs (are unifiable) can be merged

Minimal AND/OR search graph: of R relative to tree T is the closure under merge of the AND/OR search tree of R relative to T, where inconsistent subtrees are pruned.

Canonicity: The minimal AND/OR graph relative to T is unique for all constraints equivalent to R.

Page 28: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Context based caching Caching is possible when context is the same

context = parent-separator set in induced pseudo-graph

= current variable + ancestors connected to subtree below

A

D

B C

E

F

A

D

B

CE

F

G H

J

K

G

H

J

K

context(B) = {A, B}

context(C) = {A,B,C}

context(D) = {D}

context(F) = {F}

Page 29: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

CachingA

D

B C

E

F

A

D

B

CE

F

G H

J

K

G

H

J

KAOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND

AND 0 10 1 0 10 1 0 10 1 0 10 1

OR

OR

AND

AND

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

context(B) = {A, B}context(C) = {A,B,C}context(D) = {D}context(F) = {F}

Page 30: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Caching

A

D

B C

E

F

A

D

B

CE

F

G H

J

K

G

H

J

KAOR

0AND 1

BOR B

0AND 1 0 1

EOR C E C E C E C

OR D F D F D F D F D F D F D F D F

AND

AND 0 10 1 0 10 1 0 10 1 0 10 1

OR

OR

AND

AND

0

G

H H

0 1 0 1

0 1

1

G

H H

0 1 0 1

0 1

0

J

K K

0 1 0 1

0 1

1

J

K K

0 1 0 1

0 1

context(D)={D}

context(F)={F}

Page 31: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

All Four Search Spaces

Full OR search tree

126 nodes

Full AND/OR search tree

54 AND nodes

Context minimal OR search graph

28 nodes

Context minimal AND/OR search graph

18 AND nodes

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 1

C

D

F

E

B

A 0 1

AOR

0AND

BOR

0AND

OR E

OR F F

AND 0 1 0 1

AND 0 1

C

D D

0 1 0 1

0 1

1

E

F F

0 1 0 1

0 1

C

D D

0 1 0 1

0 1

1

B

0

E

F F

0 1 0 1

0 1

C

D D

0 1 0 1

0 1

1

E

F F

0 1 0 1

0 1

C

D D

0 1 0 1

0 1

0 1 0 1 0 1 0 1

0 1 0 1 0 1 0 1

0 1

0 1 0 1

0 1 0 1

C

D

F

E

B

A 0 1

AOR0ANDBOR

0AND

OR E

OR F F

AND 0 1

AND 0 1

C

D D

0 1

0 1

1

EC

D D

0 1

1

B

0

E

F F

0 1

C

1

EC

A

E

C

B

F

D

Page 32: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Properties of minimal AND/OR graphs

Complexity: Minimal AND/OR R relative to pseudo-tree T is

O(exp(w*)) where w* is the tree-width of R along T.

Minimal OR search graph is O(exp(pw*)) where pw* is path-width

w* ≤ pw*, pw* ≤ w*log n

Canonicity: The minimal AND/OR search graph is unique (canonical)

for all equivalent formulas (Boolean or Constraints), consistent with its pseudo tree.

Page 33: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Searching AND/OR Graphs

AO(j): searches depth-first, cache i-context j = the max size of a cache table (i.e.

number of variables in a context)

i=0

i=w*

Space: O(n)

Time: O(exp(w* log n))

Space: O(exp w*)

Time: O(exp w*)Space: O(exp(j) )

Time: O(exp(m_j+j )

j

Page 34: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Context-Based CachingA

D

B

EC

F

context(A) = {A}context(B) = {B,A}context(C) = {C,B}context(D) = {D}context(E) = {E,A}context(F) = {F}

Cache Table (C)

B CValu

e0 0 50 1 21 0 21 1 0

A

0

B

0

EC

D D

0 1

1

EC

D D

0 1

1

B

0

EC

1

EC

5

5

5 2

3

6

2 0

4

5

4 4

46

7

7

A

E

C

B

F

D

Primal graph

Space: O(exp(2))

Page 35: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Outline

Background in Graphical models AND/OR search trees and Graphs Minimal AND/OR graphs From AND/OR search graphs to AOMDDs Compilation of AOMDDs AOMDDs and earlier BDDs

Page 36: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

OR Search Graphs vs OBDDs

A

B

C

A B C f(ABC)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

A

0 1

B

0 1

C

0 1

C

0 1

B

0 1

C

0 1

C

0 1

Full AND/OR search tree

A

0 1

B

1

C

1

B

0 1

C

1

C

1

Backtrack free AND/OR search tree

A

0 1

B

1

B

0 1

C

1

Minimal AND/OR search graph

redundant

A

0 1

B

1

C

1

An OBDD

Page 37: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR Search Graphs; AOBDDs

A

B

DC

A

0 1

B

1

C

1

D

1

D

0

redundancy

F(A,B,C,D)= (0,1,1,1), (1,0,1,0), (1,1,1,0)

A

0 1

B

1

C

1

D

1

D

0

B

0 1

AOBDD(F)

Page 38: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AND/OR Search Graphs; AOBDDs

A

B

DC

A

0 1

B

1

C

1

D

1

D

0

redundancy

F(A,B,C,D)= (0,1,1,1), (1,0,1,0), (1,1,1,0)

A

0 1

B

1

C

1

D

1

D

0

B

0 1

AOBDD(F)

Page 39: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AOBDD Conventions

A

B

DC

A

0 1

B

1

C

1

D

1

D

0

Point dead-ends to terminal 0Point goods to terminal 1

A

0 1

B

0 1

0

C

0 1

1

D

0 1

D

0 1

Page 40: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AOBDD ConventionsA

B

DC

A

0 1

B

1

C

1

D

1

D

0

A

0 1

B

0 1

0

C

0 1

1

D

0 1

D

0 1

IntroduceMeta-nodes

Page 41: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Combining AOBDD (apply)A

B

C

A B C f(ABC)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

0

A

0 1

B

0 1

1

C

0 1

*

A

B

D

A B D g(ABC)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 0

A

B

DC

0

A

0 1

B

0 1

1

D

0 1

D

0 1

=

A

0 1

B

0 1

0

C

0 1

1

D

0 1

D

0 1

Page 42: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

HG

ED

CF

B

A

F0 1

H0 1

0 1C1

A0 1

H0 1

0 1C2

A0 1

B0 1

G0 1

G0 1

B0 1

0 1C3

F0 1

G0 1

0 1C4

A0 1

E0 1

0 1C6

C0 1

E0 1

0 1C7

C0 1

D0 1

D0 1

0 1C8

B0 1

C0 1

0 1C9

B0 1

F0 1

0 1C5

m1

m3

m7

m6

m4 m 2m 5

Example:(f+h) * (a+!h) * (a#b#g) * (f+g) * (b+f) * (a+e) * (c+e) * (c#d) * (b+c)

A0 1

F0 1

H0 1

F0 1

H0 1

0 1m1

A0 1

B0 1

G0 1

F0 1

B0 1

G0 1

0 1m2

A0 1

E0 1

C0 1

0 1m4

C0 1

D0 1

D0 1

0 1m5

A0 1

B0 1

F0 1

G0 1

H0 1

F0 1

G0 1

B0 1

F0 1

F0 1

H0 1

0 1m3

A0 1

B0 1

C0 1

C0 1

D0 1

E0 1

D0 1

B0 1

C0 1

C0 1

0 1m6

m7

A

F

H

D

C B F

AE

G

H

primal graph

A

B

C F

D E G H

pseudo tree

A

B

F

G H

C

D

A

B

C

D E

A

B

C F

D E G H

A

B

F

G

C

E

A

Page 43: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

B

A

Example (continued)

m7

A0 1

B0 1

F0 1

G0 1

H0 1

F0 1

G0 1

B0 1

F0 1

F0 1

H0 1

0 1m3

A0 1

B0 1

C0 1

C0 1

D0 1

E0 1

D0 1

B0 1

C0 1

C0 1

0 1m6

A

B

C F

D E G H

m7

A0 1

B0 1

C0 1

0

D0 1

1

F0 1

G0 1

H0 1

C0 1

D0 1

E0 1

F0 1

G0 1

B0 1

C0 1

F0 1

C0 1

F0 1

H0 1

Page 44: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AOBDD vs. OBDD

D

C

B

F

A

E

G

H

1 0

B

CC C

D D D D D

E E

F F F

G G G G

H

AOBDD

18 nonterminals

47 arcs

OBDD

27 nonterminals

54 arcs

A0 1

B0 1

C0 1

0

D0 1

1

F0 1

G0 1

H0 1

C0 1

D0 1

E0 1

F0 1

G0 1

B0 1

C0 1

F0 1

C0 1

F0 1

H0 1

A

B

C F

D E G H

A

B

C

F

D

E

G

H

D

C B F

AE

G

H

primal graph

Page 45: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Complexity

Complexity of apply: Complexity of apply is bounded quadratically by the product of input AOBDDs restricted to each branch in the output pseudo-tree.

Complexity of VE-AOBDD: is exponential in the tree-width along the pseudo-tree.

Page 46: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

AOMDDs and tree-BDDs

Tree-BDDs (McMillan1994) are :

AND/OR BDDS are

)2|(|22 wwgO

)|(| wkgO

Page 47: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Related work

Related work in Search Backjumping + learning (Freuder 1988,Dechter

1990,Bayardo and Mirankar 1996) Recursive-conditioning (Darwiche 2001) Value elimination (Bacchus et. Al. 2003) Search over tree-decompositions (Trrioux et. Al. 2002)

Related to compilation schemes: Minimal AND/OR – related to tree-OBDDs (McMillan 94), d-DNNF (Darwiche et. Al. 2002) Case-factor diagrams (Mcallester, Collins, Pereira, 2005)

Tutorial references: Dechter, Constraint processing, Morgan Kauffman, 2003 Dechter, Tractable Structures of Constraint Satisfaction

problems,In Handbook of constraint solving, forthcoming.

Page 48: Verification/constraints workshop, 2006 From AND/OR Search to AND/OR BDDs Rina Dechter Information and Computer Science, UC-Irvine, and Radcliffe Institue.

Conclusion

AND/OR search should always be used.

AND/OR BDDs are superior to OBDDs.

A search algorithm with good and no-good learning generates an OBDD or an AND/OR Bdds.

Dynamic variable ordering can be incorporated

With caching, AND/OR search is similar to inference (variable-elimination)

The real tradeoff should be rephrased: Time vs space rather than search vs inference, or search vs model-

checking.

Search methods are more sensitive to this tradeoff.