Exact Reasoning: AND/OR Search and Hybrids COMPSCI 276, Fall 2009 - - PowerPoint PPT Presentation

exact reasoning
SMART_READER_LITE
LIVE PREVIEW

Exact Reasoning: AND/OR Search and Hybrids COMPSCI 276, Fall 2009 - - PowerPoint PPT Presentation

Exact Reasoning: AND/OR Search and Hybrids COMPSCI 276, Fall 2009 Set 8, Rina dechter Approximation Techniques bounded inference COMPSCI 276, Fall 2009 Set 6: Rina Dechter eading: Primary: Class Notes (7) econdary: , Darwiche chapters 14)


slide-1
SLIDE 1

Exact Reasoning: AND/OR Search and Hybrids

COMPSCI 276, Fall 2009 Set 8, Rina dechter

slide-2
SLIDE 2

Approximation Techniques bounded inference

COMPSCI 276, Fall 2009 Set 6: Rina Dechter

eading: Primary: Class Notes (7) econdary: , Darwiche chapters 14)

slide-3
SLIDE 3

CS 276 3

Probabilistic Inference Tasks

X/A a * k * 1

e) , x P( max arg ) a ,..., (a evidence) | x P(X ) BEL(X

i i i

 

  • Belief updating:
  • Finding most probable explanation (MPE)
  • Finding maximum a-posteriory hypothesis
  • Finding maximum-expected-utility (MEU) decision

e) , x P( max arg * x

x

 ) x U( e) , x P( max arg ) d ,..., (d

X/D d * k * 1

variables hypothesis : X A  function utility x variables decision : ) ( : U X D 

slide-4
SLIDE 4

CS 276 4

Belief Updating

lung Cancer Smoking X-ray Bronchitis Dyspnoea

P (lung cancer=yes | smoking=no, dyspnoea=yes ) = ?

slide-5
SLIDE 5

CS 276 5

Conditioning generates the probability tree

   

  ) , | ( ) , | ( ) | ( ) | ( ) ( ) , (

e b c b

c b e P b a d P a c P a b P a P e a P Complexity of conditioning: exponential time, linear space

slide-6
SLIDE 6

CS 276 6

Conditioning+Elimination

   

  ) , | ( ) , | ( ) | ( ) | ( ) ( ) , (

e d c b

c b e P b a d P a c P a b P a P e a P Idea: conditioning until of a (sub)problem gets small

* w

slide-7
SLIDE 7

CS 276 7

Loop-cutset decomposition

 You condition until you get a polytree

B C

B

F

A

B C

B

F

A=0 A=0

A=0

B C

B

F

A=1 A=1

A=1

P(B|F=0) = P(B, A=0|F=0)+P(B,A=1|F=0) A=0 A=1 Loop-cutset method is time exp in loop-cutset size And linear space

slide-8
SLIDE 8

CS 276 8

OR search space

A D B C E F

1 1 1 1 1 1 1 1 1 1 1 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

E C F D B A

1

Ordering: A B E C D F

slide-9
SLIDE 9

CS 276 9

AND/OR search space

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1 1 1

A D B C E F A D B C E F

Primal graph DFS tree

A D B C E F A D B C E F

slide-10
SLIDE 10

CS 276 10

OR vs AND/OR

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1 1 1

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1

AND/OR OR

A D B C E F A D B C E F

1 1 1 1

slide-11
SLIDE 11

CS 276 11

AND/OR vs. OR

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1 A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1 1 1

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1

AND/OR OR

A D B C E F A D B C E F

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

slide-12
SLIDE 12

CS 276 12

AND/OR vs. OR

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1 A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1 1 1

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1

E

1 1 1 1

C

1 1 1 1 1 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 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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B

1 1

A

1

AND/OR OR

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

slide-13
SLIDE 13

CS 276 13

AND/OR vs. OR

E

1 1 1

C

1 1 1 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

1 1 1 1 1 1 1 1

B

1

A

1 A

OR AND

1 B

OR

B

AND

1 E

OR

C E C E C

OR

D F D F D F D F

AND

1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1

E

1 1 1

C

1 1 1 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

1 1 1 1 1 1 1 1

B

1

A

1

E

1 1 1

C

1 1 1 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

1 1 1 1 1 1 1 1

B

1

A

1

AND/OR OR

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

slide-14
SLIDE 14

CS 276 14

OR space vs. AND/OR space

width height

OR space AND/OR space

time(sec.) nodes backtracks time(sec.) AND nodes OR nodes

5 10 3.154 2,097,150 1,048,575 0.03 10,494 5,247 4 9 3.135 2,097,150 1,048,575 0.01 5,102 2,551 5 10 3.124 2,097,150 1,048,575 0.03 8,926 4,463 4 10 3.125 2,097,150 1,048,575 0.02 7,806 3,903 5 13 3.104 2,097,150 1,048,575 0.1 36,510 18,255 5 10 3.125 2,097,150 1,048,575 0.02 8,254 4,127 6 9 3.124 2,097,150 1,048,575 0.02 6,318 3,159 5 10 3.125 2,097,150 1,048,575 0.02 7,134 3,567 5 13 3.114 2,097,150 1,048,575 0.121 37,374 18,687 5 10 3.114 2,097,150 1,048,575 0.02 7,326 3,663

slide-15
SLIDE 15

CS 276 15

AND/OR search tree for graphical models

The AND/OR search tree of R relative to a spanning-tree, T, has:

Alternating levels of: OR nodes (variables) and AND nodes (values)

Successor function:

The successors of OR nodes X are all its consistent values along its path

The successors of AND <X,v> are all X child variables in T

A solution is a consistent subtree

Task: compute the value of the root node

A B E

OR AND OR AND OR AND

C

OR AND

D 1 F 1 1 D 1 F 1 1 1 E C D 1 F 1 1 D 1 F 1 1 1 B E C D 1 F 1 1 D 1 F 1 1 1 E C D 1 F 1 1 D 1 F 1 1

A D B C E F A D B C E F

slide-16
SLIDE 16

CS 276 16

From DFS trees to pseudo-trees (Freuder 85, Bayardo 95)

(a) Graph

4 6 1 3 2 7 5

(b) DFS tree depth=3 (c) pseudo- tree depth=2 (d) Chain depth=6

4 6 1 3 2 7 5 2 7 1 4 3 5 6 4 6 1 3 2 7 5

slide-17
SLIDE 17

CS 276 17

From DFS trees to Pseudo-trees

a 1 2 a 3 a 4

OR AND OR AND OR AND AND OR

b a b c c b 4 b a c c 4 b a c b 3 a 4 b a c b 4 b a c c 4 b a c c 3 a 4 b a c b 4 b a c c 4 b a c 7 a 5 a 6 b a c b 6 b a c c 6 b a c b 5 a 6 b a c b 6 b a c c 6 b a c c 5 a 6 b a c b 6 b a c c 6 b a c a 1 3 a 4 b c

OR AND OR AND OR AND

b c a 2 b c a b 4 b c a 2 b c a c 4 b c a 2 b c a 5 a 7 b c a 6 b c a b 7 b c a 6 b c a c 7 b c a 6 b c a

DFS tree depth = 3 pseudo- tree depth = 2

slide-18
SLIDE 18

CS 276 18

Finding min-depth backbone trees

 Finding min depth DFS, or pseudo tree is NP-

complete, but:

 Given a tree-decomposition whose tree-width is

w*, there exists a pseudo tree T of G whose depth, satisfies (Bayardo and Mirankar, 1996, bodlaender and

Gilbert, 91):

m <= w* log n,

slide-19
SLIDE 19

CS 276 19

Generating pseudo-trees from Bucket trees

F A C B D E E A C B D F (AF) (EF) (A) (AB) (AC) (BC) (AE) (BD) (DE)

Bucket-tree based on d d: A B C E D F

E A C B D F

Induced graph

E A C B D F

Bucket-tree used as pseudo-tree

AND AND AND AND

1

B

OR

B

1 1

C

OR

E C E C E C E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

A

OR

AND/OR search tree Bucket-tree

ABE A ABC AB BDE AEF

bucket-A bucket-E bucket-B bucket-C bucket-D bucket-F

(AE) (BE)

slide-20
SLIDE 20

CS 276 20

AND/OR Search-tree properties

(k = domain size, m = pseudo-tree depth. n = number of variables)

 Theorem: Any AND/OR search tree based on a pseudo-

tree is sound and complete (expresses all and only solutions)

 Theorem: Size of AND/OR search tree is O(n km)

Size of OR search tree is O(kn)

 Theorem: Size of AND/OR search tree can be bounded

by O(exp(w* log n))

 Related to:

(Freuder 85; Dechter 90, Bayardo et. al. 96, Darwiche 1999, Bacchus 2003)

 When the pseudo-tree is a chain we get an OR space

slide-21
SLIDE 21

CS 276 21

Tasks and value of nodes

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

Counting: v(n) is number of solutions in T(n)

Consistency: v(n) is 0 if T(n) inconsistent, 1 othewise.

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.

 Theorem: Complexity of AO dfs search is

 Space:

O(n)

 Time:

O(n km)

 Time:

O(exp(w* log n))

slide-22
SLIDE 22
slide-23
SLIDE 23

CS 276 23

A C B D E A D B C E

A B E D 1 C 1 C 1 1 1 E D 1 C 1 C 1 1 1 B E D 1 C 1 C 1 1 1 E D 1 C 1 C 1 1

Belief-updating on example

slide-24
SLIDE 24

CS 276 24

A B E D 1 C 1 C 1 1 1 E D 1 C 1 C 1 1 1 B E D 1 C 1 C 1 1 1 E D 1 C 1 C 1 1

PA(0) PA(1))

PB|A(0|0)

PB|A(1|0) PB|A(0|1)

PB|A(1|1)

PE|AB(0|0,0) PE|AB(1|0,0) PE|AB(0|0,1) PE|AB(1|0,1) PE|AB(0|1,0) PE|AB(1|1,0) PE|AB(0|1,1) PE|AB(1|1,1) PD|BC(0|0,0)× PC|A(0|0) A C B D E A D B C E

slide-25
SLIDE 25

CS 276 25

A B E D 1 C 1 1 C 1 1 E D 1 C 1 1 C 1 P(A=0) P(B=0|A=0) P(B=1|A=0) P(E=0|A=0,B=0) P(D=0|B=0,C=0)× P(C=0|A=0) P(D=1|B=1,C=1)× P(C=1|A=0) P(D=0|B=0,C=1)× P(C=1|A=0) P(D=1|B=0,C=0)× P(C=0|A=0) P(D=1|B=0,C=1)× P(C=1|A=0) P(D=0|B=1,C=0)× P(C=0|A=0) P(D=0|B=1,C=1)× P(C=1|A=0) P(D=1|B=1,C=0)× P(C=0|A=0) P(E=1|A=0,B=0) P(E=0|A=0,B=1) P(E=1|A=0,B=1)

A C B D E A D B C E

slide-26
SLIDE 26

CS 276 26

A B E C 1 D 1 1 D 1 1 E C 1 D 1 1 D 1

P(A=0) P(B=0|A=0) P(B=1|A=0) P(E=0|A=0,B=0) P(D=0|B=0,C=0) P(D=1|B=1,C=1) P(D=0|B=0,C=1) P(D=1|B=0,C=0) P(D=1|B=0,C=1) P(D=0|B=1,C=0) P(D=0|B=1,C=1) P(D=1|B=1,C=0) P(E=1|A=0,B=0) P(E=0|A=0,B=1) P(E=1|A=0,B=1) P(C=0|A=0) P(C=1|A=0) P(C=0|A=0) P(C=1|A=0)

(d)

slide-27
SLIDE 27

CS 276 27

AND/OR Tree DFS Algorithm (Belief Updating)

AND node: Combination operator (product) OR node: Marginalization operator (summation) Value of node = updated belief for sub-problem below

A B E

OR AND OR AND OR AND

C

OR AND

D 1 1 D 1 1 1 E C D 1 1 D 1 1 1 B E C D 1 1 D 1 1 1 E C D 1 1 D 1 1

A D B C E A D B C E B C D=0 D=1 0 0 .2 .8 0 1 .1 .9 1 0 .3 .7 1 1 .5 .5

) , | ( C B D P

.7 .8 .9 .5 .7 .8 .9 .5

Evidence: D=1

A B E=0 E=1 0 0 .4 .6 0 1 .5 .5 1 0 .7 .3 1 1 .2 .8

) , | ( B A E P

Evidence: E=0

.4 .5 .7 .2 A B=0 B=1 .4 .6 1 .1 .9

) | ( A B P

A C=0 C=1 .2 .8 1 .7 .3

) | ( A C P

A P(A) .6 1 .4

) (A P

.2 .8 .2 .8 .1 .9 .1 .9 .4 .6 .1 .9 .6 .4 .8 .9 .8 .9 .7 .5 .7 .5 .8 .9 .8 .9 .7 .5 .7 .5 .4 .5 .7 .2 .88 .54 .89 .52 .352 .27 .623 .104 .3028 .1559 .24408 .3028 .1559

Result: P(D=1,E=0)

slide-28
SLIDE 28

CS 276 28

Complexity of AND/OR Tree Search

AND/OR tree OR tree Space O(n) O(n) Time

O(n km) O(n kw* log n)

[Freuder & Quinn85], [Collin, Dechter & Katz91], [Bayardo & Miranker95], [Darwiche01]

O(kn)

k = domain size m = depth of pseudo-tree n = number of variables w*= treewidth

slide-29
SLIDE 29

CS 276 29

From Search Trees to Search Graphs

 Any two nodes that root identical subtrees

(subgraphs) can be merged

slide-30
SLIDE 30

CS 276 30

From Search Trees to Search Graphs

 Any two nodes that root identical subtrees

(subgraphs) can be merged

slide-31
SLIDE 31

CS 276 31

AND/OR Tree

A D B C E F A D B C E F G H J K G H J K

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1

OR OR AND AND

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

slide-32
SLIDE 32

CS 276 32

An AND/OR graph

A D B C E F A D B C E F G H J K G H J K

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1

OR OR AND AND

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

slide-33
SLIDE 33

CS 276 33

Merging Based on Context

One way of recognizing nodes that can be merged:

context (X) = ancestors of X in pseudo tree that are connected to X, or to descendants of X

[ ] [A] [AB] [AE] [BC] [AB]

A D B E C F

pseudo tree

A E C B F D A E C B F D

slide-34
SLIDE 34

CS 276 34

AND/OR Search Graph

A E C B F D

A D B E C F

A B C RABC 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A B E RABE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A E F RAEF 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 B C D RBCD 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Constraint Satisfaction – Counting Solutions

[ ] [A] [AB] [AE] [BC] [AB] Context

pseudo tree context minimal graph

A

OR AND

B

OR AND OR

E

OR AND AND

1 C D D 1 1 1 1 E F F 1 1 1 C D D 1 1 1 1 B E F F 1 1 1 C 1 1 E 1 C 1

slide-35
SLIDE 35

CS 276 35

.8 .9 .7 .7 .8

AND/OR Tree DFS Algorithm (Belief Updating)

AND node: Combination operator (product) OR node: Marginalization operator (summation) Value of node = updated belief for sub-problem below

A B E C D 1 1 D 1 1 1 E C D 1 1 D 1 1 1 B E C D 1 1 D 1 1 1 E C D 1 1 D 1 1

B C D=0 D=1 0 0 .2 .8 0 1 .1 .9 1 0 .3 .7 1 1 .5 .5

) , | ( C B D P

.7 .8 .9 .5 .7 .8 .9 .5

Evidence: D=1

A B E=0 E=1 0 0 .4 .6 0 1 .5 .5 1 0 .7 .3 1 1 .2 .8

) , | ( B A E P

Evidence: E=0

.4 .5 .7 .2 A B=0 B=1 .4 .6 1 .1 .9

) | ( A B P

A C=0 C=1 .2 .8 1 .7 .3

) | ( A C P

A P(A) .6 1 .4

) (A P

.2 .8 .2 .8 .1 .9 .1 .9 .4 .6 .1 .9 .6 .4 .9 .8 .9 .5 .7 .5 .8 .9 .5 .7 .5 .4 .5 .7 .2 .88 .54 .89 .52 .352 .27 .623 .104 .3028 .1559 .24408 .3028 .1559

Result: P(D=1,E=0)

A D B C E

[ ] [A] [AB] [BC] [AB] Context

A D B C E

slide-36
SLIDE 36

CS 276 36

.7 .8

AND/OR Graph DFS Algorithm (Belief Updating)

A B E C D 1 1 D 1 1 1 E C D 1 1 D 1 1 1 B E C 1 1 1 E C 1 1

A D B C E B C D=0 D=1 0 0 .2 .8 0 1 .1 .9 1 0 .3 .7 1 1 .5 .5

) , | ( C B D P

.7 .8 .9 .5

Evidence: D=1

A B E=0 E=1 0 0 .4 .6 0 1 .5 .5 1 0 .7 .3 1 1 .2 .8

) , | ( B A E P

Evidence: E=0

.4 .5 .7 .2 A B=0 B=1 .4 .6 1 .1 .9

) | ( A B P

A C=0 C=1 .2 .8 1 .7 .3

) | ( A C P

A P(A) .6 1 .4

) (A P

.2 .8 .2 .8 .1 .9 .1 .9 .4 .6 .1 .9 .6 .4 .9 .8 .9 .5 .7 .5 .8 .9 .7 .5 .4 .5 .7 .2 .88 .54 .89 .52 .352 .27 .623 .104 .3028 .1559 .24408 .3028 .1559 A D B C E

[ ] [A] [AB] [BC] [AB] Context

B C Value 0 0 .8 0 1 .9 1 0 .7 1 1 .1

Cache table for D

Result: P(D=1,E=0)

slide-37
SLIDE 37

CS 276 37

AND/OR context minimal graph

C K H L 1 N N 1 1 F F F 1 1 1 1 F G 0 1 1 A 1 B B 1 1 E E E E 1 1 J J J J 1 1 A 1 B B 1 1 E E E E 1 1 J J J J 1 1 G 0 1 G 0 1 G 0 1 M 0 1 M 0 1 M 0 1 M 0 1 P 0 1 P 0 1 O 0 1 O 0 1 O 0 1 O 0 1 L 1 N N 1 1 P 0 1 P 0 1 O 0 1 O 0 1 O 0 1 O 0 1 D 0 1 D 0 1 D 0 1 D 0 1 K H L 1 N N 1 1 1 1 A 1 B B 1 1 E E E E 1 1 J J J J 1 1 A 1 B B 1 1 E E E E 1 1 J J J J 1 1 P 0 1 P 0 1 O 0 1 O 0 1 O 0 1 O 0 1 L 1 N N 1 1 P 0 1 P 0 1 O 0 1 O 0 1 O 0 1 O 0 1 D 0 1 D 0 1 D 0 1 D 0 1

B A C E F G H J D K M L N O P C H K D M F G A B E J O L N P [AB] [AF] [CHAE] [CEJ] [CD] [CHAB] [CHA] [CH] [C] [ ] [CKO] [CKLN] [CKL] [CK] [C]

(C K H A B E J L N O D P M F G)

C H K D M F G A B E J O L N P [AB] [AF] [CHAE] [CEJ] [CD] [CHAB] [CHA] [CH] [C] [ ] [CKO] [CKLN] [CKL] [CK] [C]

(C K H A B E J L N O D P M F G)

slide-38
SLIDE 38

CS 276 38

How Big Is the Context?

Theorem: The maximum context size for a pseudo tree is equal to the treewidth of the graph along the pseudo tree.

C H K D M F G A B E J O L N P [AB] [AF] [CHAE] [CEJ] [CD] [CHAB] [CHA] [CH] [C] [ ] [CKO] [CKLN] [CKL] [CK] [C]

(C K H A B E J L N O D P M F G)

B A C E F G H J D K M L N O P

max context size = treewidth

slide-39
SLIDE 39

CS 276 39

G E K F L H C B A M J D

Treewidth vs. Pathwidth

E K L H C A M J ABC BDEF BDFG EFH FHK HJ KLM

treewidth = 3 = (max cluster size) - 1

ABC BDEFG EFH FHKJ KLM

pathwidth = 4 = (max cluster size) - 1

D G B F

TREE CHAIN

slide-40
SLIDE 40

CS 276 40

Complexity of AND/OR Graph Search

AND/OR graph OR graph Space

O(n kw*) O(n kpw*)

Time

O(n kw*) O(n kpw*)

k = domain size n = number of variables w*= treewidth pw*= pathwidth

w* ≤ pw* ≤ w* log n

slide-41
SLIDE 41

CS 276 41

AND/OR search algorithms

 AO(i)

 i = the max size of a cache table (i.e.

number of variables in a context)

i = 0 i = w* treewidth Space: Time: O(n exp w* ) O(n exp w* ) O( n ) O( exp (w* log n) )

slide-42
SLIDE 42

CS 276 42

Searching AND/OR Graphs

 AO(i): searches depth-first, cache i-context

 i = 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(i) ) Time: O(exp(m_i+i )

i

slide-43
SLIDE 43

CS 276 43

Caching

A D B C E F A D B C E F G H J K G H J K

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1 1 1 1 1 1 1

OR OR AND AND

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

G H H

0 1 0 1 1

1 G H H

0 1 0 1 1

J K K

0 1 0 1 1

1 J K K

0 1 0 1 1

context(D)={D} context(F)={F}

slide-44
SLIDE 44

CS 276 44

All four search spaces

E C F D B A

1 1 1 1 1 1 1 1 1 1 1 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1

B

OR

B

AND

1 1

E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

E C F D B A

1 1 1 1 1

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1

AND

1 1 1 1 1

Full OR search tree Full AND/OR search tree Context minimal OR search graph Context minimal AND/OR search graph

A D B C E F A D B C E F

slide-45
SLIDE 45

CS 276 45

All four search spaces

E C F D B A

1 1 1 1 1 1 1 1 1 1 1 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 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1

B

OR

B

AND

1 1

E

OR

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

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

AND

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

E C F D B A

1 1 1 1 1

A

OR AND

1 B

OR

B

AND

1 1 E

OR

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

1 1

AND

1 1 1 1 1

Full OR search tree Full AND/OR search tree Context minimal OR search graph Context minimal AND/OR search graph

A D B C E F A D B C E F

Time- space

slide-46
SLIDE 46

CS 276 46

Available code

 http://graphmod.ics.uci.edu/group/Software