Exact Bayesian Inference for Loopy Probabilistic Programs using Generating Functions
About
We present an exact Bayesian inference method for inferring posterior distributions encoded by probabilistic programs featuring possibly unbounded loops. Our method is built on a denotational semantics represented by probability generating functions, which resolves semantic intricacies induced by intertwining discrete probabilistic loops with conditioning (for encoding posterior observations). We implement our method in a tool called Prodigy; it augments existing computer algebra systems with the theory of generating functions for the (semi-)automatic inference and quantitative verification of conditioned probabilistic programs. Experimental results show that Prodigy can handle various infinite-state loopy programs and exhibits comparable performance to state-of-the-art exact inference tools over loop-free benchmarks.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Exact Bayesian Inference | PSI twoCoins (F) (test) | Inference Time (s)0.0032 | 6 | |
| Exact Bayesian Inference | PSI evidence1 (F) benchmarks (test) | Inference Time (s)0.003 | 6 | |
| Exact Bayesian Inference | PSI evidence2 (F) (test) | Inference Time (s)0.0032 | 6 | |
| Exact Bayesian Inference | PSI murderMystery (F) (test) | Inference Time (s)0.0028 | 6 | |
| Exact Bayesian Inference | PSI digitRecognition (F) (test) | Inference Time (s)31 | 6 | |
| Exact Bayesian Inference | PSI alarm (F) (test) | Inference Time (s)0.011 | 6 | |
| Exact Bayesian Inference | PSI grass (F) (test) | Inference Time0.019 | 6 | |
| Exact Bayesian Inference | PSI benchmarks noisyOr (F) (test) | Inference Time (s)0.21 | 6 |