Skip to main content

Understanding Probabilistic Programs

  • Chapter
  • First Online:
Book cover Correct System Design

Abstract

We present two views of probabilistic programs and their relationship. An operational interpretation as well as a weakest pre-condition semantics are provided for an elementary probabilistic guarded command language. Our study treats important features such as sampling, conditioning, loop divergence, and non-determinism.

This work was supported by the Excellence Initiative of the German federal and state government.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barthe, G., Kopf, B., Olmedo, F., Béguelin, S.Z.: Probabilistic relational reasoning for differential privacy. ACM Trans. Program. Lang. Syst. 35(3), 9 (2013)

    Article  MATH  Google Scholar 

  2. Chakarov, A., Sankaranarayanan, S.: Expectation invariants for probabilistic program loops as fixed points. In: Müller-Olm, M., Seidl, H. (eds.) Static Analysis. LNCS, vol. 8723, pp. 85–100. Springer, Heidelberg (2014)

    Google Scholar 

  3. Cock, D.: Verifying probabilistic correctness in Isabelle with pGCL. El. Proc. in Th. Comp. Sc. 102, 167–178 (2012)

    Article  Google Scholar 

  4. Dijkstra, E.W.: A Discipline of Programming. Prentice Hall (1976)

    Google Scholar 

  5. Feldman, Y.A., Harel, D.: A probabilistic dynamic logic. In: Proc. of STOC, pp. 181–195. ACM (1982)

    Google Scholar 

  6. Gordon, A.D.: An agenda for probabilistic programming: Usable, portable, and ubiquitous (2013). http://research.microsoft.com/en-us/projects/fun

  7. Gordon, A.D., Graepel, T., Rolland, N., Russo, C.V., Borgström, J., Guiver, J.: Tabular: a schema-driven probabilistic programming language. In: Proc. of POPL, pp. 321–334. ACM Press (2014)

    Google Scholar 

  8. Gordon, A.D., Henzinger, T.A., Nori, A.V., Rajamani, S.K.: Probabilistic programming. In: Proc. of FOSE, pp. 167–181. ACM Press (2014)

    Google Scholar 

  9. Gretz, F., Jansen, N., Kaminski, B.L., Katoen, J.P., McIver, A., Olmedo, F.: Conditioning in probabilistic programming. In: Proc. of MFPS, p. 12 (2015)

    Google Scholar 

  10. Gretz, F., Jansen, N., Kaminski, B.L., Katoen, J.P., McIver, A., Olmedo, F.: Conditioning in probabilistic programming. CoRR (2015)

    Google Scholar 

  11. Gretz, F., Katoen, J.P., McIver, A.: Operational versus weakest pre-expectation semantics for the probabilistic guarded command language. Perform. Eval. 73, 110–132 (2014)

    Article  Google Scholar 

  12. Hur, C.K., Nori, A.V., Rajamani, S.K., Samuel, S.: Slicing probabilistic programs. In: Proc. of PLDI, pp. 133–144. ACM Press (2014)

    Google Scholar 

  13. Hurd, J., McIver, A., Morgan, C.: Probabilistic guarded commands mechanized in HOL. Theor. Comput. Sci. 346(1), 96–112 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  14. Kaminski, B.L., Katoen, J.-P.: On the hardness of almost–sure termination. In: Italiano, G.F., Pighizzini, G., Sannella, D.T. (eds.) MFCS 2015. LNCS, vol. 9234, pp. 307–318. Springer, Heidelberg (2015)

    Chapter  Google Scholar 

  15. Katoen, J.-P., McIver, A.K., Meinicke, L.A., Morgan, C.C.: Linear-invariant generation for probabilistic programs. In: Cousot, R., Martel, M. (eds.) SAS 2010. LNCS, vol. 6337, pp. 390–406. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  16. Kozen, D.: Semantics of probabilistic programs. J. Comput. Syst. Sci. 22(3), 328–350 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  17. McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. Springer (2004)

    Google Scholar 

  18. Motwani, R., Raghavan, P.: Randomized Algorithms. Cambridge University Press (1995)

    Google Scholar 

  19. Nori, A.V., Hur, C.K., Rajamani, S.K., Samuel, S.: R2: An efficient MCMC sampler for probabilistic programs. In: Proc. of AAAI. AAAI Press (July 2014)

    Google Scholar 

  20. Olderog, E.R.: Nets, Terms and Formulas: Three Views of Concurrent Processes and their Relationship. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press (1990)

    Google Scholar 

  21. Paige, B., Wood, F.: A compilation target for probabilistic programming languages. In: Proc. of ICML. JMLR Proceedings, vol. 32, pp. 1935–1943. JMLR.org. (2014)

    Google Scholar 

  22. Pfeffer, A.: Figaro: An object-oriented probabilistic programming language. Technical report, Charles River Analytics (2000)

    Google Scholar 

  23. Puterman, M.: Markov Decision Processes: Discrete Stochastic Dynamic Programming. John Wiley and Sons (1994)

    Google Scholar 

  24. Sampson, A., Panchekha, P., Mytkowicz, T., McKinley, K.S., Grossman, D., Ceze, L.: Expressing and verifying probabilistic assertions. In: Proc. of PLDI, p. 14. ACM (2014)

    Google Scholar 

  25. Sharir, M., Pnueli, A., Hart, S.: Verification of probabilistic programs. SIAM Journal on Computing 13(2), 292–314 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  26. Shoup, V.: A Computational Introduction to Number Theory and Algebra. Cambridge University Press (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joost-Pieter Katoen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Katoen, JP., Gretz, F., Jansen, N., Kaminski, B.L., Olmedo, F. (2015). Understanding Probabilistic Programs. In: Meyer, R., Platzer, A., Wehrheim, H. (eds) Correct System Design. Lecture Notes in Computer Science(), vol 9360. Springer, Cham. https://doi.org/10.1007/978-3-319-23506-6_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-23506-6_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-23505-9

  • Online ISBN: 978-3-319-23506-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics