Probabilistic Programming Meets Automata Theory: Exact Inference using Weighted Automata
Dominik Geißler, Tobias Winkler
TL;DR
The paper addresses exact inference for a restricted class of discrete probabilistic programs by introducing Probability Generating Automata (PGA) as a semantic domain. It defines PGA as weighted automata over an omega-continuous semiring, with program semantics realized as automata-transformers via standard operations, and proves soundness against a discrete-time Markov-chain view. A goldfish-piranha example demonstrates how to encode and normalize posteriors within PGA, yielding concrete results (e.g., a 2/3 posterior for the initial piranha). The work lays a bridge between probabilistic programming and automata theory, outlining extensions to broaden expressivity (e.g., while-statements, non-rectangular guards) and outlining a path toward broader, exact inference capabilities.
Abstract
Probabilistic programs encode stochastic models as ordinary-looking programs with primitives for sampling numbers from predefined distributions and conditioning. Their applications include, among many others, machine learning and modeling of autonomous systems. The analysis of probabilistic programs is often quantitative - it involves reasoning about numerical properties like probabilities and expectations. A particularly important quantitative property of probabilistic programs is their posterior distribution, i.e., the distribution over possible outputs for a given input (or prior) distribution. Computing the posterior distribution exactly is known as exact inference. We present our current research using weighted automata, a generalization of the well-known finite automata, for performing exact inference in a restricted class of discrete probabilistic programs. This is achieved by encoding distributions over program variables - possibly with infinite support - as certain weighted automata. The semantics of our programming language then corresponds to common automata-theoretic constructions, such as product, concatenation, and others.
