A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs

06/15/2012
by   Andreas Stuhlmüller, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/04/2015

Programs as Polypeptides

We describe a visual programming language for defining behaviors manifes...
research
04/14/2022

Program Analysis of Probabilistic Programs

Probabilistic programming is a growing area that strives to make statist...
research
10/01/2020

Probabilistic Programs with Stochastic Conditioning

We tackle the problem of conditioning probabilistic programs on distribu...
research
09/09/2015

Coarse-to-Fine Sequential Monte Carlo for Probabilistic Programs

Many practical techniques for probabilistic inference require a sequence...
research
10/22/2020

Translating Recursive Probabilistic Programs to Factor Graph Grammars

It is natural for probabilistic programs to use conditionals to express ...
research
02/07/2020

DynamicPPL: Stan-like Speed for Dynamic Probabilistic Models

We present the preliminary high-level design and features of DynamicPPL....
research
06/08/2017

Securing Databases from Probabilistic Inference

Databases can leak confidential information when users combine query res...

Please sign up or login with your details

Forgot password? Click here to reset