paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Stochastic Lazy Knowledge Compilation for Inference in Discrete Probabilistic Programs

面向离散概率程序推断的随机惰性知识编译
PLDI 9(PLDI)2025匹配度 4/10 · 论文聚焦离散概率程序的精确/近似推断,采用惰性知识编译与序列蒙特卡洛,属于概率编程与贝叶斯推断方向;但它不涉及用户的 LLM/Agent 与静态分析交叉、浮点程序分析,也未利用 LLM 改进程序分析。引用 2 inbox
Maddy Bowers, Alexander K. Lew, Joshua B. Tenenbaum, Armando Solar-Lezama, Vikash K. Mansinghka
crossref: 2026-09-10

AI 速览

一句话:提出随机惰性知识编译,使离散概率程序的精确推断可惰性加速,并用序列蒙特卡洛实现近似推断。

本文研究离散概率程序中的精确与近似推断,提出两种利用惰性求值的新技术。首先,将知识编译——一种离散概率程序精确推断的最先进方法——变为惰性,从而获得渐近加速。其次,概率程序的惰性语义自然将其随机选择划分为若干子问题;这些子问题可由序列蒙特卡洛依次求解,其局部最优提议分布则通过惰性知识编译自动计算。作者在工具 Pluck 中实现该方法,并在推断基准上与当前最先进方法比较。实验表明,惰性知识编译常快于现有方法,有时快数个数量级。

问题
离散概率程序中的精确与近似推断通常计算代价高,且难以充分利用程序结构。
方法
通过惰性知识编译获得渐近加速,并利用惰性求值将随机选择分解为子问题,用自动计算局部最优提议的序列蒙特卡洛依次求解。
评估
在 Pluck 中实现,并在离散概率语言推断基准上与最先进方法对比,显示有时快数个数量级。
原文摘要(Abstract)

We present new techniques for exact and approximate inference in discrete probabilistic programs, based on two new ways of exploiting lazy evaluation. First, we show how knowledge compilation, a state-of-the art technique for exact inference in discrete probabilistic programs, can be made lazy, enabling asymptotic speed-ups. Second, we show how a probabilistic program’s lazy semantics naturally give rise to a division of its random choices into subproblems, which can be solved in sequence by sequential Monte Carlo with locallyoptimal proposals automatically computed via lazy knowledge compilation. We implement our approach in a new tool, Pluck , and evaluate its performance against state-of-the-art approaches to inference in discrete probabilistic languages. We !nd that on a suite of inference benchmarks, lazy knowledge compilation can be faster than state-of-the-art approaches, sometimes by orders of magnitude.

链接与引用

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

BibTeX
@article{paperbot3143,
  title = {Stochastic Lazy Knowledge Compilation for Inference in Discrete Probabilistic Programs},
  author = {Maddy Bowers and Alexander K. Lew and Joshua B. Tenenbaum and Armando Solar-Lezama and Vikash K. Mansinghka},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {PLDI},
  year = {2025},
  doi = {10.1145/3729325}
}