HackerPapers

arXiv:1206.3555cs.AI

A Dynamic Programming Algorithm for Inference in Recursive Probabilistic Programs

Andreas Stuhlmüller, Noah D. Goodman

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

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.

arXiv comments
Second Statistical Relational AI workshop at UAI 2012 (StaRAI-12)
Journal reference
DOI
Subjects
cs.AIArtificial Intelligence cs.DSData Structures and Algorithms

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Sep 2016 to Sep 2016.

Comments linking this paper, per year.

Discussed in comments1 thread

    • So there has been work done in compiling probabilistic programs directly into C or C++ [1]. Your intuition is correct that in many of these languages if you wrote an HMM and did MAP inference over it you wouldn't recover the Viterbi algorithm, but there is some code in WebPPL[2]…

      cfView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.