arXiv · 1206.3555
A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs
Abstract
We describe a dynamic programming algorithm for computing the marginal distribution of discrete probabilistic programs. This algorithm takes a functional interpreter for an arbitrary probabilistic programming language and turns it into an efficient marginalizer. Because direct caching of sub-distributions is impossible in the presence of recursion, we build a graph of dependencies between sub-distributions. This factored sum-product network makes (potentially cyclic) dependencies between subproblems explicit, and corresponds to a system of equations for the marginal distribution. We solve these equations by fixed-point iteration in topological order. We illustrate this algorithm on examples used in teaching probabilistic models, computational cognitive science research, and game theory.
Explore related subjects
Keep this discovery
Andreas Stuhlmüller, Noah D. Goodman. 2012-09-10. A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs. https://arxiv.org/abs/1206.3555
Cite the original work for its findings. Save a collection to share your selection of sources.