paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Exact Bayesian Inference for Loopy Probabilistic Programs using Generating Functions

基于生成函数的循环概率程序精确贝叶斯推断
OOPSLA 8(OOPSLA1)2024匹配度 6/10 · 论文研究概率程序的精确贝叶斯推断,用生成函数处理无界循环并给出形式语义与工具实现,属于贝叶斯程序分析与形式语义方向,与用户关注的贝叶斯程序分析有交集;但不涉及 LLM/Agent,也未聚焦静态分析在 ML/Agentic 程序中的应用,因此匹配度中等。引用 11 inbox
Lutz Klinkenberg, Christian Blumenthal, Mingshuai Chen, Darion Haase, Joost-Pieter Katoen
crossref: 2026-09-10

AI 速览

一句话:提出基于生成函数的精确贝叶斯推断,可处理带无界循环的概率程序。

本文研究带无界循环的概率程序的精确贝叶斯推断问题,目标是从条件观测中推断后验分布。此类程序中离散概率循环与条件化交织,会带来复杂的语义与计算挑战。作者提出以概率生成函数为核心的指称语义,用以刻画并消解这些语义纠缠,从而支持精确推断。该方法在工具 Prodigy 中实现,通过扩展现有计算机代数系统,为条件概率程序提供(半)自动推断与定量验证。实验表明,Prodigy 能处理多种无限状态循环程序,并且在无循环基准上与最先进的精确推断工具性能相当。

问题
如何为带无界循环且含条件观测的概率程序进行精确贝叶斯推断,尤其是当离散概率循环与条件化交织导致语义复杂时。
方法
使用概率生成函数建立指称语义,并在工具 Prodigy 中基于计算机代数系统实现条件概率程序的(半)自动推断与定量验证。
评估
在多种无限状态循环程序上进行实验,并在无循环基准上与最先进的精确推断工具比较性能。
原文摘要(Abstract)

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.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@article{paperbot2548,
  title = {Exact Bayesian Inference for Loopy Probabilistic Programs using Generating Functions},
  author = {Lutz Klinkenberg and Christian Blumenthal and Mingshuai Chen and Darion Haase and Joost-Pieter Katoen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA1},
  year = {2024},
  doi = {10.1145/3649844}
}