Joost-Pieter Katoen
Software Modeling and Verification (MOVES) group
RWTH Aachen
Germany
Formal Methods & Tools group
Universiteit Twente
The Netherlands
Foundations of probabilistic programming
Abstract
Probabilistic programming combines probability theory, statistics and programming languages. They allow to model a much larger class of models in a rather succinct manner. The full potential of modern probabilistic programming languages comes from automating the process of inferring unobserved variables in the model conditioned on observed data. As some researchers put it: "The goal of probabilistic programming is to enable probabilistic modeling and machine learning to be accessible to the working programmer."
Probabilistic programs steer autonomous robots, are at the heart of security mechanisms, encompass randomised algorithms, and are used in AI to infer statistical conclusions about huge amounts of uncertain data.
In these lectures, I will introduce the main underlying concepts of probabilistic programming, and discuss how classical program verification à la Dijkstra can be used to answer elementary questions such as: Do these programs terminate at all? With what probability? How many resources do they consume?, etc. Applications to Bayesian networks will show how insightful information about analysing such networks can be obtained in a fully automated manner by using program verification.
Course materials
- J.-P. Katoen. Foundations of probabilistic programming. Slides from EWSCS 2020.
- J.-P. Katoen. Exercise class problems from EWSCS 2020, with solutions. [pdf, password-protected]
- Videos from the lectures (large, unedited files) [mp4, password-protected]
- B. Kaminski, J.-P. Katoen, C. Matheja. Expected runtime analysis by program verification. In Foundations of Probabilistic Programming, Cambridge Univ. Press, to appear. Draft version [pdf, password-protected]
- A. McIver, C. Morgan, B. Kaminski, J.-P. Katoen. A new proof rule for almost-sure termination. Proc. ACM Program. Lang., v. 2, n. POPL, article 33, 2018. [doi]
- F. Gretz, J.-P. Katoen, A. McIver. Operational versus weakest pre-expectation semantics for the probabilistic guarded command language. Perform. Evaluation, v. 73, pp. 110-132, 2014. [doi]
- F. Olmedo, F. Gretz, N. Jansen, B. Kaminski, J.-P. Katoen, A. McIver. Conditioning in probabilistic programming. ACM Trans. Program. Lang. Syst., v. 40, n. 1, article 4, 2018. [doi]
Last changed
April 10, 2020 22:30 Europe/Helsinki (GMT +03:00)
by
local organizers, ewscs20(at)cs.ioc.ee
EWSCS'20 page:
//cs.ioc.ee/ewscs/2020/