Conditioning in Probabilistic Programming

In this paper, we investigate the semantic intricacies of conditioning in probabilistic programming, a major feature, e.g., in machine learning. We provide a quantitative weakest pre-condition semantics. In contrast to all other approaches, non-termination is taken into account by our semantics. We also present an operational semantics in terms of Markov models and show that expected rewards coincide with quantitative pre-conditions. A program transformation that entirely eliminates conditioning from programs is given; the correctness is shown using our semantics. Finally, we show that an inductive semantics for conditioning in non-deterministic probabilistic programs cannot exist.

[1]  Claudio V. Russo,et al.  Tabular: a schema-driven probabilistic programming language , 2014, POPL.

[2]  Gilles Barthe,et al.  Synthesizing Probabilistic Invariants via Doob's Decomposition , 2016, CAV.

[3]  Herbert Wiklicky,et al.  On Dynamical Probabilities, or: How to Learn to Shoot Straight , 2016, COORDINATION.

[4]  Annabelle McIver,et al.  Prinsys - On a Quest for Probabilistic Loop Invariants , 2013, QEST.

[5]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[6]  G. Broström,et al.  Acceptance–Rejection Sampling from the Conditional Distribution of Independent Discrete Random Variables, given their Sum , 2000 .

[7]  Eric C. R. Hehner,et al.  A probability perspective , 2011, Formal Aspects of Computing.

[8]  C. Jones,et al.  A probabilistic powerdomain of evaluations , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[9]  Patrick Cousot,et al.  Probabilistic Abstract Interpretation , 2012, ESOP.

[10]  Joshua B. Tenenbaum,et al.  Church: a language for generative models , 2008, UAI.

[11]  Avi Pfeffer,et al.  Practical Probabilistic Programming , 2016, ILP.

[12]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[13]  Dana S. Scott Stochastic λ-calculi: An extended abstract , 2014, J. Appl. Log..

[14]  Annabelle McIver,et al.  Operational versus weakest pre-expectation semantics for the probabilistic guarded command language , 2014, Perform. Evaluation.

[15]  Hoon Kim,et al.  Monte Carlo Statistical Methods , 2000, Technometrics.

[16]  Gilles Barthe,et al.  Probabilistic Relational Reasoning for Differential Privacy , 2012, TOPL.

[17]  Joost-Pieter Katoen,et al.  A weakest pre-expectation semantics for mixed-sign expectations , 2017, 2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[18]  Christel Baier,et al.  Computing Conditional Probabilities in Markovian Models Efficiently , 2014, TACAS.

[19]  Dexter Kozen,et al.  A probabilistic PDL , 1983, J. Comput. Syst. Sci..

[20]  Frank D. Wood,et al.  A Compilation Target for Probabilistic Programming Languages , 2014, ICML.

[21]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[22]  Annabelle McIver,et al.  Probabilistic Guarded Commands Mechanized in HOL , 2005, Electron. Notes Theor. Comput. Sci..

[23]  Marta Z. Kwiatkowska,et al.  A game-based abstraction-refinement framework for Markov decision processes , 2010, Formal Methods Syst. Des..

[24]  David Cock pGCL for Isabelle , 2014, Arch. Formal Proofs.

[25]  Ohad Kammar,et al.  Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[26]  Peter van Rossum,et al.  Conditional Probabilities over Probabilistic and Nondeterministic Systems , 2008, TACAS.

[27]  Joost-Pieter Katoen,et al.  On the Hardness of Almost-Sure Termination , 2015, MFCS.

[28]  Radha Jagadeesan,et al.  Probabilistic Concurrent Constraint Programming , 1997, CONCUR.

[29]  Daniel M. Roy,et al.  Noncomputable Conditional Distributions , 2011, 2011 IEEE 26th Annual Symposium on Logic in Computer Science.

[30]  Andrew D. Gordon,et al.  Measure Transformer Semantics for Bayesian Machine Learning , 2011, ESOP.

[31]  Hans Bekic,et al.  Definable Operation in General Algebras, and the Theory of Automata and Flowcharts , 1984, Programming Languages and Their Definition.

[32]  Joost-Pieter Katoen,et al.  Reasoning about Recursive Probabilistic Programs* , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[33]  Christel Baier,et al.  Principles of model checking , 2008 .

[34]  Radha Jagadeesan,et al.  Stochastic processes as concurrent constraint programs , 1999, POPL '99.

[35]  H. Tijms Understanding Probability: Chance Rules in Everyday Life , 2004 .

[36]  Nils Jansen,et al.  Bounded Model Checking for Probabilistic Programs , 2016, ATVA.

[37]  Christine Paulin-Mohring,et al.  Proofs of randomized algorithms in Coq , 2006, Sci. Comput. Program..

[38]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[39]  Chung-Kil Hur,et al.  R2: An Efficient MCMC Sampler for Probabilistic Programs , 2014, AAAI.

[40]  Greg Nelson,et al.  A generalization of Dijkstra's calculus , 1989, ACM Trans. Program. Lang. Syst..

[41]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[42]  Dan Grossman,et al.  Expressing and verifying probabilistic assertions , 2014, PLDI.

[43]  Annabelle McIver,et al.  Linear-Invariant Generation for Probabilistic Programs: - Automated Support for Proof-Based Methods , 2010, SAS.

[44]  Victor Shoup,et al.  A computational introduction to number theory and algebra , 2005 .

[45]  Wolfgang Wechler,et al.  Universal Algebra for Computer Scientists , 1992, EATCS Monographs on Theoretical Computer Science.

[46]  Sriram Sankaranarayanan,et al.  Expectation Invariants for Probabilistic Program Loops as Fixed Points , 2014, SAS.

[47]  Krishnendu Chatterjee,et al.  Algorithmic analysis of qualitative and quantitative termination problems for affine probabilistic programs , 2015, POPL.

[48]  Erik P. de Vink,et al.  Verifying Probabilistic Programs Using a Hoare Like Logic , 2002, Int. J. Found. Comput. Sci..

[49]  Sriram Sankaranarayanan,et al.  Probabilistic Program Analysis with Martingales , 2013, CAV.

[50]  Martin C. Rinard,et al.  Verifying quantitative reliability for programs that execute on unreliable hardware , 2013, OOPSLA.

[51]  Annabelle McIver,et al.  Partial correctness for probabilistic demonic programs , 2001, Theor. Comput. Sci..

[52]  Johan J. Lukkien Operational Semantics and Generalized Weakest Preconditions , 1994, Sci. Comput. Program..

[53]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[54]  Nils Jansen,et al.  Understanding Probabilistic Programs , 2015, Correct System Design.

[55]  Michael K. Reiter,et al.  Crowds: anonymity for Web transactions , 1998, TSEC.

[56]  Chung-Kil Hur,et al.  Slicing probabilistic programs , 2014, PLDI.

[57]  Geoffrey Smith,et al.  Min-entropy as a resource , 2013, Inf. Comput..

[58]  Luc De Raedt,et al.  ProbLog2: Probabilistic Logic Programming , 2015, ECML/PKDD.

[59]  Dexter Kozen,et al.  Semantics of probabilistic programs , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[60]  Andrew D. Gordon,et al.  Bayesian inference using data flow analysis , 2013, ESEC/FSE 2013.

[61]  Glynn Winskel,et al.  Distributing probability over non-determinism , 2006, Mathematical Structures in Computer Science.

[62]  Thomas A. Henzinger,et al.  Probabilistic programming , 2014, FOSE.