400 likes | 502 Views
AND/OR search spaces for graphical models. Vibhav Gogate (Slides courtesy of Prof. Rina Dechter , UC Irvine and her past and present students). Probabilistic Inference Tasks. Probability of evidence and Partition function Belief updating: Finding most probable explanation (MPE)
E N D
AND/OR search spaces for graphical models VibhavGogate (Slides courtesy of Prof. RinaDechter, UC Irvine and her past and present students)
Probabilistic Inference Tasks • Probability of evidence and Partition function • Belief updating: • Finding most probable explanation (MPE) • Finding maximum a-posteriory hypothesis
Belief Updating and Probability of Evidence Smoking lung Cancer Bronchitis X-ray Dyspnoea P(lung cancer=yes | smoking=no, dyspnoea=yes ) = ? P(smoking=no, dyspnoea=yes ) = ?
Recap • Bucket elimination (BE) • Junction tree propagation • Treewidth (w*) and Tree Decompositions • BE is time and space exponential in (w*+1). • Why is it cool? • The complexity of exact inference can be determined by manipulating the (undirected) interaction graph • also called primal graph, moral graph and markov network
Exact Graphical Models Inference Time: exp(n) Space: linear Search: Conditioning Depth-first search Hybrids: AND/OR search spaces Bucket elimination Junction tree propagation Dynamic Programming Elimination and propagation Time: exp(w*) Space: exp(w*)
Conditioning generates the probability tree Complexity of conditioning: exponential time, linear space
Idea: conditioning until of a (sub)problem gets small Conditioning+Elimination
A 0 1 B 0 1 0 1 E 0 1 0 1 0 1 0 1 C 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 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 OR search space A F B C Ordering: A B E C D F E D
A A F F B B C C E E D D A B OR A E C AND 0 1 D F OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 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/OR search space A F B C E D Primal graph DFS tree
A F B C E D A B A 0 1 E C B 0 1 0 1 D F A E 0 1 0 1 0 1 0 1 0 1 B C 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 E 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 0 1 0 1 0 1 0 1 C 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 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 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 Zero probability (A=1,B=1) (B=0,C=0) OR vs AND/OR OR A AND 0 1 AND/OR OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 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 0 OR 1 1 1 0 1
A F B C E D A B A OR A 0 1 E C B 0 1 0 1 D F A A E 0 0 1 1 0 1 0 1 0 1 0 1 B B C 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 E E D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 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 C C F 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 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 D D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 F F 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Zero probability (A=1,B=1) (B=0,C=0) AND/OR vs. OR AND 0 1 AND/OR OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 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/OR size: exp(4), OR size exp(6) OR
A F B C E D A B A OR A 0 1 E C B 0 1 0 1 D F A A E 0 0 1 1 0 1 0 1 0 1 0 1 B B C 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 E E D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 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 C C F 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 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 D D 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 F F 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 Zero probability (A=1,B=1) (B=0,C=0) AND/OR vs. OR AND 0 1 AND/OR OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 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 OR
A F B C E D A B E C D F (A=1,B=1) (B=0,C=0) AND/OR vs. OR OR A AND 0 1 AND/OR OR B B AND 0 0 1 OR E C E C E C AND 0 1 1 0 1 1 0 1 0 1 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 A A A 0 0 0 1 1 1 OR B B B 0 0 0 1 1 1 0 0 0 E E E 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 C C C 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 D D D 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 F F F 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1
A F B C E D A B E C D F OR A AND 0 1 OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 OR D D F D F F D F D F D F D F D F AND 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 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
From DFS trees to pseudo-trees (Freuder 85, Bayardo 95) 1 4 1 6 2 3 2 7 5 3 (a) Graph 4 7 1 1 2 7 5 3 5 3 5 4 2 7 6 6 4 6 (b) DFS tree depth=3 (c) pseudo- tree depth=2 (d) Chain depth=6
OR 1 AND a b c OR 3 5 AND a b c a b c OR 4 4 4 7 7 7 2 2 2 6 6 6 AND a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c From DFS trees to Pseudo-trees OR 1 AND a b c OR 2 7 AND a b c a b c DFS tree depth = 3 OR 3 3 3 5 5 5 AND a b c a b c a b c a b c a b c a b c OR 4 4 4 4 4 4 4 4 4 6 6 6 6 6 6 6 6 6 AND a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c a b c pseudo- tree depth = 2
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,
A F C bucket-A A E B D AB bucket-B bucket-C ABC ABE bucket-E bucket-D BDE AEF bucket-F A A OR AND 0 1 B OR B B AND 0 0 1 1 C E OR C E C E C E C E AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D F 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 Generating pseudo-trees from Bucket trees A A (A) B B (AB) C C (AC) (BC) E E (AE) (BE) (AE) D D (BD) (DE) F F (AF) (EF) reverse elim order: A B C E D F Bucket-tree based on d Induced graph Bucket-tree Bucket-tree used as pseudo-tree AND/OR search tree
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) • Generalizes OR search: When the pseudo-tree is a chain we get an OR space
A A B B C E C D E D AND/OR Tree DFS Algorithm (Probability of evidence) Result: P(D=1,E=0) Evidence: E=0 .24408 OR A .6 .4 .3028 AND .1559 0 1 .3028 .1559 OR B B .1 .9 .4 .6 .352 .623 AND .27 .104 0 0 1 1 .5 .7 OR .4 .88 .54 .89 .2 .52 E C E C E C E C .4 .5 .7 .2 .2 .8 .2 .8 .1 .9 .1 .9 .8 .9 .7 .5 .8 .9 .7 .5 AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR .8 .9 .7 .5 .8 .9 .7 .5 D D D D D D D D .8 .9 .5 .8 .9 .7 .5 .7 AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR node: Marginalization operator (weighted summation) AND node: Combination operator (product) Value of node = updated belief for sub-problem below Evidence: D=1
Complexity of AND/OR Tree Search • k = domain size • m = depth of pseudo-tree • n = number of variables • w*= treewidth
From Search Trees to Search Graphs • Any two nodes that root identical subtrees (subgraphs) can be merged
From Search Trees to Search Graphs • Any two nodes that root identical subtrees (subgraphs) can be merged
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 J J J J G G J J G G J J J J G G J J G G G G J J G G J J G G G G 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A J A AND/OR Tree F B B C K E C E D D F G J G H OR A H K AND 0 1 OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR D F D F D F D F D F D F D F D F AND OR AND OR AND
A J A An AND/ORgraph F B B C K E C E D D F G J G H OR A H K AND 0 1 OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR D F D F D F D F D F D F D F D F AND 0 1 0 1 OR J J G G AND 0 1 0 1 0 1 0 1 OR H H H H K K K K AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A C C A A F F B D D B B E E C E D F pseudo tree 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] [AB] [AE] [BC]
Context [ ] A A [A] B [AB] [AB] E C B C [BC] D E D AND/OR Tree DFS Algorithm Result: P(D=1,E=0) Evidence: E=0 .24408 A .6 .4 .3028 .1559 0 1 .3028 .1559 B B .1 .9 .4 .6 .352 .623 .27 .104 0 0 1 1 .5 .7 .4 .88 .54 .89 .2 .52 E C E C E C E C .4 .5 .7 .2 .2 .8 .2 .8 .1 .9 .1 .9 .8 .9 .7 .5 .8 .9 .7 .5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 .8 .9 .7 .5 .8 .9 .7 .5 D D D D D D D D .8 .9 .5 .8 .9 .7 .5 .7 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR node: Marginalization operator (summation) AND node: Combination operator (product) Value of node = updated belief for sub-problem below Evidence: D=1
Context [ ] A A [A] B [AB] [AB] E C B C [BC] D E D Cache table for D AND/OR Graph DFS Algorithm Result: P(D=1,E=0) Evidence: E=0 .24408 A .6 .4 .3028 .1559 0 1 .3028 .1559 B B .1 .9 .4 .6 .352 .623 .27 .104 0 0 1 1 .5 .7 .4 .88 .54 .89 .2 .52 E C E C E C E C .4 .5 .7 .2 .2 .8 .2 .8 .1 .9 .1 .9 .8 .9 .7 .5 .8 .9 .7 .5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 .8 .9 .7 .5 D D D D .8 .9 .5 .7 0 1 0 1 0 1 0 1 Evidence: D=1
F G B A J H E C C [ ] [ ] C D K K H H [C] [C] [C] [C] L L L A A [CK] [CK] [CH] [CH] K M N N B B [CKL] [CKL] [CHA] [CHA] N O O E E P [CKLN] [CKLN] [CHAB] [CHAB] F F [AB] [AB] O P P J J [CKO] [CKO] [CHAE] [CHAE] G G [AF] [AF] D D [CEJ] [CEJ] M M [CD] [CD] (C K H A B E J L N O D P M F G) (C K H A B E J L N O D P M F G) AND/OR context minimal graph C 0 1 H H K K 0 1 0 1 0 1 0 1 A A A A L L L L 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 B B B B B B B B N N N N N N N N 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 O O O O O O O O O O O O O O O O 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F F F F E E E E E E E E E E E E E E E E 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 P P P P P P P P 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 G G G G J J J J J J J J J J J J J J J J 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 D D D D D D D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 M M M M 0 1 0 1 0 1 0 1
F G B A J H E max context size = treewidth C [ ] C D K H [C] [C] L L A [CK] [CH] K M N B [CKL] [CHA] N O E P [CKLN] [CHAB] F [AB] O P J [CKO] [CHAE] G [AF] D [CEJ] M [CD] (C K H A B E J L N O D P M F G) 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.
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 ) O( exp (w* log n) ) O(n exp w* ) O(n exp w* )
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* i Space: O(exp w*) Time: O(exp w*) Space: O(n) Time: O(exp(w* log n)) Space: O(exp(i) ) Time: O(exp(m_i+i )
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 J J J J G G J J G G J J J J G G J J G G G G J J G G J J G G G G 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K H H H H K K K K 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A J A Caching F B B C K E C E D D F G J G H OR A H K context(D)={D} context(F)={F} AND 0 1 OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR D F D F D F D F D F D F D F D F AND OR AND OR AND
A J A Caching F B B C K E C E D D F context(D)={D} context(F)={F} G J G H OR A H K AND 0 1 OR B B AND 0 0 1 1 OR E C E C E C E C AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 OR D F D F D F D F D F D F D F D F AND 0 1 0 1 OR J J G G AND 0 1 0 1 0 1 0 1 OR H H H H K K K K AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A F 0 1 A B C 0 1 0 1 B 0 1 0 1 0 1 0 1 E 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C E 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 A 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 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F B A 0 1 B E C 0 1 0 1 E 0 1 0 1 0 1 0 1 C 0 1 0 1 0 1 0 1 D F D OR AND A 0 1 0 1 0 1 0 1 0 1 AND F 0 1 OR 0 1 B B OR B B AND 0 0 1 1 AND 0 0 1 1 OR E C E C E C E C OR E C E C E C E C AND 0 1 0 1 0 1 AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D F D F D F D F D F D F D F D F OR OR D F D F D F D F D F D F D F D F AND 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 0 1 0 1 All four search spaces Full OR search tree Context minimal OR search graph Full AND/OR search tree Context minimal AND/OR search graph
A F 0 1 A B C 0 1 0 1 B 0 1 0 1 0 1 0 1 E 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C E 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 A 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 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F B A 0 1 B E C 0 1 0 1 E 0 1 0 1 0 1 0 1 C 0 1 0 1 0 1 0 1 D F D OR AND A 0 1 0 1 0 1 0 1 0 1 AND F 0 1 OR 0 1 B B OR B B AND 0 0 1 1 AND 0 0 1 1 OR E C E C E C E C OR E C E C E C E C AND 0 1 0 1 0 1 AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 D F D F D F D F D F D F D F D F OR OR D F D F D F D F D F D F D F D F AND 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 0 1 0 1 All four search spaces Full OR search tree Context minimal OR search graph Time-space Full AND/OR search tree Context minimal AND/OR search graph
Available code • http://graphmod.ics.uci.edu/group/Software
Research issues • Orderings • Heuristically Constructing a best pseudo tree • Caching strategies • Exploiting Symmetries • Exploiting Determinism and context-specific independence • Approximations • Dynamic vs Static Search