Exact Recursive Probabilistic Programming
David Chiang, Colin McDonald, Chung-chieh Shan

TL;DR
This paper introduces a probabilistic programming language capable of expressing recursive data and calls, enabling exact inference for complex recursive models like pushdown automata, with transformations guaranteed correct by a linear type system.
Contribution
It presents a novel probabilistic language supporting natural recursion and exact inference, along with program transformations validated by a linear type system.
Findings
Supports exact inference on recursive probabilistic models
Automatically derives polynomial-time parsing algorithms
Uses program transformations with correctness guarantees
Abstract
Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also useful, but unfortunately, existing probabilistic programming languages do not perform exact inference on recursive calls over recursive data, forcing programmers to code many applications manually. We introduce a probabilistic language in which a wide variety of recursion can be expressed naturally, and inference carried out exactly. For instance, probabilistic pushdown automata and their generalizations are easy to express, and polynomial-time parsing algorithms for them are derived automatically. We eliminate recursive data types using program transformations related to defunctionalization and refunctionalization. These transformations are assured…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBayesian Modeling and Causal Inference · AI-based Problem Solving and Planning · Logic, Reasoning, and Knowledge
