Hur, ChungKil ;
Nori, Aditya V. ;
Rajamani, Sriram K. ;
Samuel, Selva
A Provably Correct Sampler for Probabilistic Programs
Abstract
We consider the problem of inferring the implicit distribution specified by a probabilistic program. A popular inference technique for probabilistic programs called Markov Chain Monte Carlo or
MCMC sampling involves running the program repeatedly and generating sample values by perturbing values produced in "previous runs". This simulates a Markov chain whose stationary distribution is the distribution specified by the probabilistic program. However, it is nontrivial to implement MCMC sampling for probabilistic programs since each variable could be updated at multiple program points. In such cases, it is unclear which values from the "previous run" should be used to generate samples for the "current run". We present an algorithm to solve this problem for the general case and formally prove that the algorithm is correct. Our algorithm handles variables that are updated multiple times along the same path, updated along different paths in a conditional statement, or repeatedly updated inside loops, We have implemented our algorithm in a tool called InferX. We empirically demonstrate that InferX produces the correct result for various benchmarks, whereas existing tools such as R2 and Stan produce incorrect results on several of these benchmarks.
BibTeX  Entry
@InProceedings{hur_et_al:LIPIcs:2015:5655,
author = {ChungKil Hur and Aditya V. Nori and Sriram K. Rajamani and Selva Samuel},
title = {{A Provably Correct Sampler for Probabilistic Programs}},
booktitle = {35th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2015)},
pages = {475488},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {9783939897972},
ISSN = {18688969},
year = {2015},
volume = {45},
editor = {Prahladh Harsha and G. Ramalingam},
publisher = {Schloss DagstuhlLeibnizZentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2015/5655},
URN = {urn:nbn:de:0030drops56553},
doi = {10.4230/LIPIcs.FSTTCS.2015.475},
annote = {Keywords: Probabilistic Programming, Program Correctness, Probabilistic Inference, Markov Chain Monte Carlo Sampling}
}
2015
Keywords: 

Probabilistic Programming, Program Correctness, Probabilistic Inference, Markov Chain Monte Carlo Sampling 
Seminar: 

35th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2015)

Issue date: 

2015 
Date of publication: 

2015 