SPPL: probabilistic programming with fast exact symbolic inference

  title={SPPL: probabilistic programming with fast exact symbolic inference},
  author={Feras A. Saad and Martin C. Rinard and Vikash K. Mansinghka},
  journal={Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation},
We present the Sum-Product Probabilistic Language (SPPL), a new probabilistic programming language that automatically delivers exact solutions to a broad range of probabilistic inference queries. SPPL translates probabilistic programs into sum-product expressions, a new symbolic representation and associated semantic domain that extends standard sum-product networks to support mixed-type distributions, numeric transformations, logical formulas, and pointwise and set-valued constraints. We… 
This is the Moment for Probabilistic Loops
A novel static analysis technique to derive higher moments for program variables of a large class of probabilistic loops with complex control flow, polynomial assignments, symbolic constants, circular dependencies among variables, and potentially uncountable state spaces is presented.
Guaranteed bounds for posterior inference in universal probabilistic programming
This work proposes a new method to approximate the posterior distribution of probabilistic programs by means of computing guaranteed bounds, and introduces a weight-aware interval type system, which automatically infers interval bounds on not just the return value but also the weight of program executions, simultaneously.
Tractable Boolean and Arithmetic Circuits
This article reviews the foundations of tractable circuits and some associated milestones, while focusing on their core properties and techniques that make them particularly useful for the broad aims of neuro-symbolic AI.
Hierarchical Infinite Relational Model
The HIRM generalizes the standard infinite relational model and can be used for a variety of data analysis tasks including dependence detection, clustering, and density estimation and is used to discover relational structure in real-world datasets from politics and genomics.
AQUA: Automated Quantized Inference for Probabilistic Programs
AQUA is more accurate than state-of-the-art approximate algorithms (Stan’s NUTS and ADVI) and supports programs that are out of reach of exact inference tools, such as PSI and SPPL.


Scaling exact inference for discrete probabilistic programs
A domain-specific probabilistic programming language called Dice is developed that features a new approach to exact discrete Probabilistic program inference, and a new reduction from discrete probabilism programs to weighted model counting (WMC).
Trace types and denotational semantics for sound programmable inference in probabilistic languages
This work presents a denotational semantics for programmable inference in higher-order probabilistic programming languages, along with a type system that ensures that well-typed inference programs are sound by construction.
Data-Driven Synthesis of Full Probabilistic Programs
This work introduces a data-guided approach to the program mutation stage of simulated annealing; this innovation allows the tool to scale to synthesizing complete probabilistic programs from scratch.
Incremental precision-preserving symbolic inference for probabilistic programs
Evaluation with a set of existing benchmarks shows that ISymb can lead to orders of magnitude performance improvements compared to its non-incremental counterpart (under small changes in observed array data).
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.
Anytime Inference in Probabilistic Logic Programs with Tp-Compilation
TP-compilation proceeds incrementally in that it interleaves the knowledge compilation step for weighted model counting with forward reasoning on the logic program, which leads to a novel anytime algorithm that provides hard bounds on the inferred probabilities.
Probabilistic programming
This paper describes connections this research area called ``Probabilistic Programming" has with programming languages and software engineering, and this includes language design, and the static and dynamic analysis of programs.
Inference in Probabilistic Logic Programs using Weighted CNF's
This paper develops efficient inference algorithms for classical probabilistic inference tasks such as MAP and computing marginals based on a conversion of the Probabilistic logic program and the query and evidence to a weighted CNF formula.
Probabilistic symbolic execution
An extension of the widely used Symbolic PathFinder symbolic execution system that calculates path probabilities is presented, exploiting state-of-the-art computational algebra techniques to count the number of solutions to path conditions, yielding exact results for path probabilities.
λPSI: exact inference for higher-order probabilistic programs
It is shown that λPSI is practically effective—it automatically computes exact distributions for a number of interesting applications, from rational agents to information theory, many of which could so far only be handled approximately.