Skip to content

Code for AND/OR search for graphical models by Robert Mateescu

Notifications You must be signed in to change notification settings

dechterlab/aolibPE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aolibPE

AND/OR search for graphical models

  • Graphical models are widely used frameworks for knowledge representation. Examples include Bayesian networks, constraint networks, Markov random fields and influence diagrams. They all use graphs to capture conditional independencies between variables. The independencies allow both a concise representation, and efficient graph-based algorithms for query processing.

  • AND/OR search is conditioning algorithm that exploits the structure of the graphical model. Its execution is guided by a pseudo tree that spans the graph, capturing the decomposition into independent components. The AND/OR tree can be exponentially smaller than the standard backtrack tree, being exponential in the depth of the pseudo tree, rather than the number of variables. When memory is available, the results of the computation in some subtrees can be cached (indexed by the context, or current partial assignment) and reused. The resulting AND/OR graph is exponential in the treewidth of the graph, rather than pathwidth.

  • The figure shows a small Bayesian network, with evidence D=1 and E=0. The task is to compute the probability of evidence, which amounts to marginalizing out all the variables, in essence executing a SUM-PRODUCT algorithm. The AND/OR tree search performs a depth-first traversal, accumulating the result at the root.

Bayesian Network Example

Further reading:

About

Code for AND/OR search for graphical models by Robert Mateescu

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages