title:
Probabilistic Programming Languages
Langages de programmation probabilistes
manager:
Guillaume Baudart
ects:
3
period:
1
hours:
24
weeks:
8
hours-per-week:
3
language:
English on request
lang:
track:
B
themes:
Semantic/Languages
number:
2.40
year:
2024, 2025

Description

La programmation probabiliste est un paradigme de programmation qui a connu un essor important ces dernières années. Suivant la méthode bayésienne, les programmes probabilistes décrivent des variables aléatoires qui peuvent être conditionnées par des observations statistiques. Récemment, de nombreux langages de programmation ont été développés e.g., WebPPL, Venture, Anglican, Stan, Gen, Pyro, Turing.jl… Ces langages sont maintenant utilisés dans de nombreux domaines qui vont de la vision (génération d'images) et la robotique (planification), à la santé (épidémiologie) et les sciences sociales (sondages).

Ce cours présente les concepts fondamentaux de la programmation probabiliste ainsi que des travaux de recherche récents :

  1. conceptions des langages (construction probabiliste, analyse statique, compilation)
  2. méthodes d'inférence (méthodes de Monte-Carlo, inférence symbolique, inférence variationnelle)
  3. sémantique (théorie de la mesure, espaces quasi-Boreliens, cônes probabilistes)
  4. analyse statique des algorithmes d'inférence (inférence variationnelle)

Plan du cours

date Intervenants Sujets
19/09 G. Baudart Introduction à la programmation probabiliste
26/09 G. Baudart Conception d'un langage probabiliste, sémantique par noyau
03/10 G. Baudart Méthodes d'inférence avancées, sémantique par densité
10/10 G. Baudart Compilation, filtrage et inférence semi-symbolique
17/10 H. Paquet Modèles discrets, modèles graphiques, sémantiques et ordre supérieur
24/10 PAUSE
30/10 PAUSE
07/11 C. Tasson Modèles continus, sémantique et problème avec l'ordre supérieur
14/11 C. Tasson Programmation probabiliste et logique linéaire
21/11 X. Rival Inférence Variationnelle, problème et analyse statique
28/11 Examen
05/12 Soutenances Projet

Tous les cours seront accompagnés de travaux pratiques.

Les supports de cours et les TDs seront disponibles sur GitHub : https://github.com/mpri-probprog/probprog-25-26

Évaluation

Ressources