Recherche
Thématiques
- Analyse réaliste d'algorithmes
- Analyse d'algorithmes en moyenne
- Combinatoire analytique, séries génératrices et méthodes symboliques
- Génération aléatoire d'objets combinatoires (modèle de Boltzmann)
Liens
Enseignement
Master 1 Informatique
ESIEE - Esipe E4
Licence 3 Informatique
- Programmation fonctionnelle en Haskell
- Architecture des Ordinateurs Avancée
Publications
Autres documents
- Mémoire de Master
-
Thèse de doctorat (Slides)
La génération aléatoire uniforme est un enjeu central en combinatoire. Dans le modèle de Boltzmann, les structures combinatoires sont générées avec une taille aléatoire, ce qui permet de concevoir des générateurs particulièrement efficaces.
L'objectif de cette thèse est de rendre cette méthode de génération effective pour un grand nombre de classes combinatoires décomposables en automatisant l'ensemble des traitements impliqués dans la conception des générateurs.
La première partie est consacrée à l'étude des algorithmes de génération. Nous complétons le dictionnaire initial des générateurs de Boltzmann afin de prendre en charge les classes non étiquetées. Ces algorithmes génériques sont détaillés, prouvés et illustrés par des exemples classiques de combinatoire. Des données expérimentales mettent en évidence l'efficacité de ces générateurs. Une application à la génération aléatoire des partitions planes conclut cette étude.
Dans le cadre de la méthode de Boltzmann, les générateurs sont paramétrés par une valeur numérique qui contrôle la taille espérée des structures générées. L'uniformité repose sur une fonction oracle qui renvoie, pour toute classe combinatoire, la valeur de sa fonction génératrice en un point donné. La seconde partie introduit une méthode pour calculer automatiquement et efficacement cet oracle, via une itération de Newton numérique. La validité de cette approche s'appuie sur la convergence de l'itération de Newton sur les structures combinatoires. Cette itération est ensuite relevée au niveau des séries génératrices puis aux valeurs numériques. De plus, l'itération sur les séries conduit à un algorithme quasi optimal pour calculer les premiers termes des séries de comptage.
Code et Logiciels
- NewtonGF pour Maple : Outils pour les fonctions génératrices basés sur l'itération de Newton combinatoire
- Feuilles Maple pour quelques générateurs de Boltzmann
- Notebooks du cours de génération aléatoire, ALEA, 2023
Exposés
- Échantillonnage aléatoire sous le modèle de Boltzmann : le cas non étiqueté (français), 2005
- Échantillonnage aléatoire des partitions planes (version longue)
- Échantillonnage de Boltzmann effectif (nouvelle version), 2007
- Démo : génération aléatoire de RANs et partitions planes (français) avec A. Darrasse et M. Soria, pour l'évaluation LIP6, 2008
- Itération de Newton combinatoire pour l'oracle de Boltzmann (français), 2008
- Oracle de Boltzmann effectif (feuilles Maple)
- Analyse moyenne des automates de Glushkov dans un modèle type ABR, 2010
- Algorithmes pour les systèmes combinatoires : entre combinatoire analytique et théorie des espèces, 2011
- Good Predictions Are Worth a Few Comparisons, 2016
- Cours de génération aléatoire, ALEA, 2023
- Branch Prediction Analysis of Morris-Pratt and Knuth-Morris-Pratt Algorithms, 2025