Scaling exact inference for discrete probabilistic programs
Steven Holtzen, Guy Van den Broeck, Todd D. Millstein
Abstract
Probabilistic programming languages (PPLs) are an expressive means of representing and reasoning about probabilistic models. The computational challenge of probabilistic inference remains the primary roadblock for applying PPLs in practice. Inference is fundamentally hard, so there is no one-size-fits all solution. In this work, we target scalable inference for an important class of probabilistic programs: those whose probability distributions are discrete. Discrete distributions are common in many fields, including text analysis, network verification, artificial intelligence, and graph analysis, but they prove to be challenging for existing PPLs.
We develop a domain-specific probabilistic programming language called Dice that features a new approach to exact discrete probabilistic program inference. Dice exploits program structure in order to factorize inference, enabling us to perform exact inference on probabilistic programs with hundreds of thousands of random variables. Our key technical contribution is a new reduction from discrete probabilistic programs to weighted model counting (WMC). This reduction separates the structure of the distribution from its parameters, enabling logical reasoning tools to exploit that structure for probabilistic inference. We (1) show how to compositionally reduce Dice inference to WMC, (2) prove this compilation correct with respect to a denotational semantics, (3) empirically demonstrate the performance benefits over prior approaches, and ( 4) analyze the types of structure that allow Dice to scale to large probabilistic programs.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 4aaa6f9c-2304-4396-99d4-344fbdd933cfCited by top-tier papers46
- This is the moment for probabilistic loopsMarcel Moosbrugger, Miroslav Stankovic, Ezio Bartocci, Laura KovácsOOPSLA 2022 · 30 citations
- Reasoning about "reasoning about reasoning": semantics and contextual equivalence for probabilistic programs with nested queries and recursionYizhou Zhang, Nada AminPOPL 2022 · 20 citations
- Model Checking Finite-Horizon Markov Chains with Probabilistic InferenceSteven Holtzen, Sebastian Junges, Marcell Vazquez-Chanlatte, Todd D. Millstein et al.CAV 2021 · 19 citations
- Guaranteed bounds for posterior inference in universal probabilistic programmingRaven Beutner, C.-H. Luke Ong, Fabian ZaiserPLDI 2022 · 18 citations
- Symbolic execution for randomized programsZachary Susag, Sumit Lahiri, Justin Hsu, Subhajit RoyOOPSLA 2022 · 17 citations
Builds on2
Related papers
- noDice: Inference for Discrete Probabilistic Programs with Nondeterminism and ConditioningTobias Gürtler, Benjamin Lucien KaminskiOOPSLA 2026 · 1 citation
- Roulette: A Language for Expressive, Exact, and Efficient Discrete Probabilistic ProgrammingCameron Moy, Jack Czenszak, John M. Li, Brianna Marshall et al.PLDI 2025 · 3 citations
- Type-Directed Discretization of Probabilistic ProgramsKatherine Wu, Jules Jacobs, Kevin Batz, Alexandra SilvaOOPSLA 2026
- Exact Bayesian Inference on Discrete Models via Probability Generating Functions: A Probabilistic Programming ApproachFabian Zaiser, Andrzej S. Murawski, Chih-Hao Luke OngNeurIPS 2023 · 17 citations
- Bit Blasting Probabilistic ProgramsPoorva Garg, Steven Holtzen, Guy Van den Broeck, Todd D. MillsteinPLDI 2024 · 10 citations
