PhD Course - Foundations of Probabilistic Programming
Start in week 4 and continue for 12 weeks. Deadline for registration: 15 January 2023
Link to Course announcement on GitHub: https://github.com/itu-square/2023-foundations-of-probabilistic-programming
Organizers
Prof. Raúl Pardo, IT University of Copenhagen (raup@itu.dk)
Prof. Andrzej WÄ…sowski (wasowski@itu.dk)
Mohsen Ghaffari (mohg@itu.dk)
Lecturers / Coordinators
prof. Raúl Pardo, IT University of Copenhagen (raup@itu.dk)
prof. Andrzej WÄ…sowski, IT University of Copenhagen (wasowski@itu.dk)
Dates of the course: Start in week 4 and continue for 12 weeks (plus the necessary holiday breaks).
Time: The weekly session time slot is to be negotiated between the core group of interested participants. It will be available for the course public announcement.
Room: Most sessions will take place online, using a Teams room, to maximize participation. We will use the associated Teams chat for the interactions between the weekly sessions.
Course description
What does a probabilistic program actually compute? How can one formally reason about such probabilistic programs? This course covers such elementary (i.e. foundational mathematical) questions. We give a state-of-the-art overview of the theoretical underpinnings of modern probabilistic programming and their applications in machine learning, security, and other domains, at a level suitable for graduate students using a recent text book by Barthe, Katoen, and Silva. The book treats the connection between probabilistic programs and mathematical logic, security (what is the probability that software leaks confidential information?), and presents three programming languages for different applications: Excel tables, program testing, and approximate computing.
(credits: The above description is adapted from the kappa)
Reading List
Gilles Barthe. Joost-Pieter Katoen. Alexandra Silva. Foundations of Probabilistic Programming. Cambridge University Press, 2020
https://www.cambridge.org/core/books/foundations-of-probabilistic-programming/819623B1B5B
33836476618AC0621F0EE
This title is available Open Access from Cambridge University Press.
Programme
The format is a reading course with animated weekly discussions involving senior and junior researchers. About 20 pages of the book are set as reading for every week, and the material is presented collaboratively by lecturers and students including a discussion. The discussions will involve summarizing the key points of the reading material and solving small example mathematical problems related to the material (typically selected from the chapter text). For selected sections of the material, we intend to additionally invite authors of the relevant chapters to present as guest speakers (2-3 times during the course).
The table below shows the (tentative) schedule of the course, which is composed by 12 sessions. The table specifies the topic/book chapter from the textbook that we cover in each session. The topics may change based on the discussions and interest of the participants.
- Time: Tuesdays at 13:00 - 14:00.
- Online Room: Zoom (send an email to Mohsen Ghaffari to get the link)
- Room 4F03 at ITU (We meet primarily online, but anyone physically at ITU is welcomed in this room)
Session Date | Topic | Reading | Session leader |
Feb 7 | Semantics of Probabilistic Programming: A Gentle Introduction (part 1) | Chapter 1 | TBD |
Feb 14 | Semantics of Probabilistic Programming: A Gentle Introduction (part 2) | Chapter 1 | TBD |
Feb 21 | Expected Runtime Analysis by Program Verification (part 1) | Chapter 6 | Christoph Matheja (Guest lecture) |
Feb 28 | Expected Runtime Analysis by Program Verification (part 2) | Chapter 6 | TBD |
Mar 7 | Probabilistic Programs as Measures (part 1) | Chapter 2 | TBD |
Mar 14 | Probabilistic Programs as Measures (part 2) | Chapter 2 | TBD |
Mar 21 | Probabilistic λ-Calculi | Chapter 4 | TBD |
Mar 28 | Probabilistic Couplings from Program Logics | Chapter 5 | TBD |
Apr 4 | No session | | |
Apr 11 | Termination Analysis of Probabilistic Programs with Martingales (part 1) | Chapter 7 | TBD |
Apr 18 | Termination Analysis of Probabilistic Programs with Martingales (part 2) | Chapter 7 | TBD |
Apr 25 | Probabilistic Abstract Interpretation: Sound Inference and Application to Privacy (part 1) | Chapter 11 | TBD |
May 2 | Probabilistic Abstract Interpretation: Sound Inference and Application to Privacy (part 2) | Chapter 11 | TBD |
Prerequisites
To follow the course one needs background in probability theory, some measure theory (although the basics are to be recalled in the first chapter), logics as used in computer science, and basics of formal semantics of programs (models of computation).
Exam Format
Each PhD student should lead a discussion of one chapter.
Credits: 3 ECTS
To obtain the credits, students must lead at least one of the sessions.
Amount of hours the student is expected to spend on a course
Estimated number of book pages: 200
It is important to note that this is a mathematics book, and 200 pages constitutes a substantial amount of material, and particularly difficult to consume for PhD students who are much less experienced than faculty in reading this kind of material.
Time used on participation: one hour meeting per week
Preparation: six hours per meeting
Preparation of the session leader (exam): four extra hours when preparing a session as a leader
Total: 88 hours, 12 hours participation + 72 hours of preparation + 4h exam session preparation
How to sign up
Internal ITU students: send an email to Mohsen Ghaffari (mohg@itu.dk). External students: send an email to Mohsen Ghaffari (mohg@itu.dk) including your affiliation, PhD supervisor’s name, title of the PhD project, and a 100 word summary of the PhD project. Include your PhD supervisor (CC) in the email.
Deadline for signing-up: 15 January 2022.