CloseHelpPrint
Kies de Nederlandse taal
Course module: 201700081
201700081
Probabilistic Programming
Course info
Course module201700081
Credits (ECTS)5
Course typeCourse
Language of instructionEnglish
Contact personprof.dr.ir. J.P. Katoen
E-mailj.p.katoen@utwente.nl
Lecturer(s)
Contactperson for the course
prof.dr.ir. J.P. Katoen
Lecturer
prof.dr.ir. J.P. Katoen
Lecturer
dr.ir. M. van Keulen
Academic year2020
Starting block
2A
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
Aims
  • Get acquainted with the concepts of probabilistic programming: sampling, conditioning, and querying.
  • Obtain a thorough understanding of the meaning of probabilistic programs.
  • Obtain a good understanding about what probabilistic programming offers.
  • Acquire a thorough understanding of using randomisation for treating uncertainties in big data.
  • Obtain practical experience with a concrete probabilistic programming language (webPPL) and with querying probabilistic data bases.
Content
This course is about probabilistic programming: a combination of probability theory, statistics, and programming languages. It is used to deal with uncertainties in big data, security, and machine learning. The course covers practical aspects such as programming with webPPL, a probabilistic version of JavaScript, querying probabilistic databases and the link to Bayesian networks. This is complemented by foundational aspects such as formal language semantics (using Markov chains), formal reasoning about probabilistic programs using Hoare-like logics, the halting problem for probabilistic programs, as well as the basics of probabilistic databases. 
 
A detailed account of the planned lectures:
 
  1. Introduction (applications of PP, webPPL)
  2. Semantics (reminder probability theory, Markov chains, semantics pGCL)
  3. Formal reasoning (weakest pre-conditions, proof rules, connection to semantics) 
  4. Conditioning (Bayes’ rule, semantics, formal reasoning, program transformations)
  5. Bayesian networks (what are BNs?, Bayesian inference, relation to PP)
  6. Termination (sorts of termination for PPs, halting problem)
  7. Probabilistic databases (probabilistic data models, expressiveness, query processing)
  8. Application: probabilistic data integration (data quality problems, probabilistic modeling of data quality problems, processing feedback)
Assumed previous knowledge
Mandatory: Probability Theory, Programming
Recommended: Logics, Automata Theory, Databases
Participating study
Master Computer Science
Required materials
-
Recommended materials
Course material
The Design and Implementation of Probabilistic Programming Languages – N. Goodman & A. Stuhlmüller
Course material
Abstraction, Refinement and Proof for Probabilistic Systems – A. McIver & C.C. Morgan
Course material
Advanced weakest precondition calculi for probabilistic programs – B.L. Kaminski
Instructional modes
Assignment
Presence dutyYes

Lecture

Practical
Presence dutyYes

Tests
Written exam and assignments

CloseHelpPrint
Kies de Nederlandse taal