400 likes | 507 Vues
This presentation explores various aspects of probabilistic inference within graphical models, focusing on the techniques of AND/OR search spaces. Key topics include the probability of evidence, belief updating, and algorithms such as bucket elimination and junction tree propagation. We will discuss complexities of exact inference, conditioning, and the efficiency of various search strategies in the context of real-world applications like smoking-related health outcomes. Join us to enhance your understanding of probabilistic graphical models.
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