SluitenHelpPrint
Switch to English
Cursus: 201700081
201700081
Probabilistic Programming
Cursus informatie
Cursus201700081
Studiepunten (ECTS)5
CursustypeCursus
VoertaalEngels
Contactpersoonprof.dr.ir. J.P. Katoen
E-mailj.p.katoen@utwente.nl
Docenten
Examinator
prof.dr.ir. J.P. Katoen
Contactpersoon van de cursus
prof.dr.ir. J.P. Katoen
Examinator
dr.ir. M. van Keulen
Collegejaar2021
Aanvangsblok
2A
AanmeldingsprocedureZelf aanmelden via OSIRIS Student
Inschrijven via OSIRISJa
Cursusdoelen
  • 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.
Inhoud
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)
Voorkennis
Mandatory: Probability Theory, Programming
Recommended: Logics, Automata Theory, Databases
Participating study
Master Computer Science
Verplicht materiaal
-
Aanbevolen materiaal
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
Werkvormen
Hoorcollege

Opdracht
AanwezigheidsplichtJa

Practicum
AanwezigheidsplichtJa

Toetsen
Written exam and assignments

SluitenHelpPrint
Switch to English