- 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.
A detailed account of the planned lectures:
- Introduction (applications of PP, webPPL)
- Semantics (reminder probability theory, Markov chains, semantics pGCL)
- Formal reasoning (weakest pre-conditions, proof rules, connection to semantics)
- Conditioning (Bayes’ rule, semantics, formal reasoning, program transformations)
- Bayesian networks (what are BNs?, Bayesian inference, relation to PP)
- Termination (sorts of termination for PPs, halting problem)
- Probabilistic databases (probabilistic data models, expressiveness, query processing)
- Application: probabilistic data integration (data quality problems, probabilistic modeling of data quality problems, processing feedback)