Litcius/Paper detail

Does a Program Yield the Right Distribution?

Mingshuai Chen, Joost-Pieter Katoen, Lutz Klinkenberg, Tobias Winkler

2022Lecture notes in computer science14 citationsDOIOpen Access PDF

Abstract

Abstract We study discrete probabilistic programs with potentially unbounded looping behaviors over an infinite state space. We present, to the best of our knowledge, the first decidability result for the problem of determining whether such a program generates exactly a specified distribution over its outputs (provided the program terminates almost-surely). The class of distributions that can be specified in our formalism consists of standard distributions (geometric, uniform, etc.) and finite convolutions thereof. Our method relies on representing these (possibly infinite-support) distributions as probability generating functions which admit effective arithmetic operations. We have automated our techniques in a tool called $$\textsc {Prodigy}$$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"><mml:mrow><mml:mi>P</mml:mi><mml:mstyle><mml:mi>R</mml:mi><mml:mi>O</mml:mi><mml:mi>D</mml:mi><mml:mi>I</mml:mi><mml:mi>G</mml:mi><mml:mi>Y</mml:mi></mml:mstyle></mml:mrow></mml:math> , which supports automatic invariance checking, compositional reasoning of nested loops, and efficient queries to the output distribution, as demonstrated by experiments.

Topics & Concepts

Computer scienceAlgorithmFormalism (music)Probabilistic logicDecidabilityProbability distributionDistribution (mathematics)Artificial intelligenceMathematicsStatisticsMathematical analysisVisual artsArtMusicalBayesian Modeling and Causal InferenceFormal Methods in VerificationLogic, programming, and type systems