🤖 AI Summary
This paper addresses exact Bayesian inference for discrete probabilistic programs. We propose a semantics modeling framework based on weighted automata. Our method formally maps program statements—including `observe` instructions and branching/looping control flow—to weighted automata over exchangeable alphabets, encoding prior distributions as weighted automata over natural-number vectors, and performing symbolic posterior computation via automata operations. The approach guarantees fully exact, non-approximate posterior inference for a class of discrete probabilistic programs with rich control structures. We prove its correctness with respect to standard operational semantics and provide theoretical foundations via probability-generating functions. Experimental evaluation demonstrates substantial improvements in both symbolic reasoning capability and expressive power compared to existing methods.
📝 Abstract
In probabilistic programming, the inference problem asks to determine a program's posterior distribution conditioned on its "observe" instructions. Inference is challenging, especially when exact rather than approximate results are required. Inspired by recent work on probability generating functions (PGFs), we propose encoding distributions on $mathbb{N}^k$ as weighted automata over a commutative alphabet with $k$ symbols. Based on this, we map the semantics of various imperative programming statements to automata-theoretic constructions. For a rich class of programs, this results in an effective translation from prior to posterior distribution, both encoded as automata. We prove that our approach is sound with respect to a standard operational program semantics.