Statically bounded-memory delayed sampling for probabilistic streams

  title={Statically bounded-memory delayed sampling for probabilistic streams},
  author={Eric Hamilton Atkinson and Guillaume Baudart and Louis Mandel and Charles Yuan and Michael Carbin},
  journal={Proceedings of the ACM on Programming Languages},
  pages={1 - 28}
Probabilistic programming languages aid developers performing Bayesian inference. These languages provide programming constructs and tools for probabilistic modeling and automated inference. Prior work introduced a probabilistic programming language, ProbZelus, to extend probabilistic programming functionality to unbounded streams of data. This work demonstrated that the delayed sampling inference algorithm could be extended to work in a streaming context. ProbZelus showed that while delayed… 

Figures and Tables from this paper


Reactive probabilistic programming
ProbZelus conservatively provides the facilities of a synchronous language to write control software, with probabilistic constructs to model uncertainties and perform inference-in-the-loop, and is presented the design and implementation of the language.
Bounded expectations: resource analysis for probabilistic programs
A new static analysis for deriving upper bounds on the expected resource consumption of probabilistic programs that combines the clarity and compositionality of a weakest-precondition calculus with the efficient automation of AARA.
Compiling Markov chain Monte Carlo algorithms for probabilistic modeling
A compiler is described that transforms a probabilistic model written in a restricted modeling language and a query for posterior samples given observed data into a Markov Chain Monte Carlo (MCMC) inference algorithm that implements the query.
Probabilistic Concurrent Constraint Programming
The expressiveness of pcc is demonstrated by synthesizing combinators for default reasoning and the denotational models are fully abstract for an operational semantics that records probability information.
Commutative Semantics for Probabilistic Programming
It is shown that probabilistic programs are in fact commutative, by characterizing the measures/kernels that arise from programs as 's-finite', i.e. sums of finite measures/ kernels.
Probabilistic programming with programmable inference
Inference metaprogramming enables the concise expression of probabilistic models and inference algorithms across diverse elds, such as computer vision, data science, and robotics, within a single Probabilistic programming language.
Etalumis: bringing probabilistic programming to scientific simulators at scale
A novel PPL framework that couples directly to existing scientific simulators through a cross-platform probabilistic execution protocol and provides Markov chain Monte Carlo (MCMC) and deep-learning-based inference compilation (IC) engines for tractable inference is presented.
Church: a language for generative models
This work introduces Church, a universal language for describing stochastic generative processes, based on the Lisp model of lambda calculus, containing a pure Lisp as its deterministic subset.
Verifying Handcoded Probabilistic Inference Procedures
Shuffle is presented, a programming language for manually developing inference procedures that enforces the basic rules of probability theory, enforce the statistical dependencies of the algorithm's corresponding probabilistic model, and generates an optimized implementation.