Lazy Knowledge Compilation for Discrete PPLs
summary
A new variant of knowledge compilation for discrete PPLs uses lazy knowledge compilation to delay compiling subexpressions until forced, and it compiles only the conditional distribution of a thunk given its path condition (conditional compilation of thunks). Implementation in Julia runs benchmarks (PCFG, perturb, sorted-list, HMM) and reports milliseconds instead of seconds or minutes, polynomial scaling versus Dice’s exponential scaling, and correctness proved against Dash et al. (2023) lazy semantics.
AI-written summary · about
chapters (6)
- 0:00Lazy inference in PPLs
- 1:06Laziness benefits inference
- 6:05Knowledge compilation discrete PPLs
- 7:30Lazy compilation key ideas
- 11:06Empirical benefits
- 14:38Summary future directions
related talks
05mOn Iteration in Discrete Probabilistic Programming
06mStatic Delayed Sampling for Probabilistic Programming Languages
13mSemantic Foundations for Laziness in Discrete Probabilistic Programming
19mCompiling Probabilistic Programs for Variable Elimination with Information Flow
19mIncremental Computation for Efficient Programmable Inference in Probabilistic Programs
15mScaling Optimization Over Uncertainty via Compilation
49mCompile-time Logic Programming in Scala: what for?
47mLogic Programming à la Carte
