ALGO2 : Algorithmique avancée

Licence 3 d'informatique (parcours recherche) et magistère de Mathématiques de Rennes - ENS Rennes - Année 2022/2023

Intervenants

Cours : François Schwarzentruber
TD : Nicolas Waldburger

Projets de programmation

Plan du cours

Séance 1 : Programmation linéaire réelle

Programmation liénaire réelle dans P (admis). Programme canonique. Programme équationnel. Tableau. Solution basique. Variables dans la base et hors base. Algorithme du simplexe. Terminaison avec règle de Bland. Prétraitement pour obtenir un tableau avec solution basique. Programmation linéaire réelle
Programmation linéaire réelle(version longue)

Séance 2 : Dualité en programmation linéaire (séance à diviser en deux la prochaine année)

Motivation pour certificat. Programme dual. Illustration avec le problème du calcul d'un plus court chemin. Théorème de dualité faible et forte. Coefficients magiques. Théorème des écarts complémentaires. Interprétration physique de la dualité. Matrices totalement unimodulaires. Théorème de König. Théorème min-max de Von Neumann dans les jeux à sommes nulles. Dualité en programmation linéaire
Dualité en programmation linéaire(version longue)

Séance 3 : Algorithmes d'approximation

Algorithmes PTAS, FPTAS. Classes de complexité PTA, FPTA, APX. Couverture de sommets. Couverture de sommets pondérés et relaxation linéaire. Innapproximalité du problème de voyageur de commerce (TSP). TSP avec inégalité triangulaire. Algorithme de Christofides. Algorithmes d'approximation
Algorithmes d'approximation(version longue)

Séance 4 : Algorithmes d'approximation

Approximation par rounding puis programmation dynamique. Sac à dos. TSP euclidien. Algo et démonstration de correction de TSP euclidien

Séance 5 : Algorithmes probabilistes

Tri rapide randomisé. Algorithme de Freivalds. Algorithme de Karger. Algorithmes probabilistes
Algorithmes probabilistes(version longue)
Classes de complexité probabilistes
Classes de complexité probabilistes(version longue)
Skip lists - Listes à sauts
Skip lists - Listes à sauts(version longue)

Séance 6 : Méthode probabiliste et dérandomisation

Maxcut. Existence d'une solution, prouvée via un argument probabiliste. Dérandomisation avec la méthode des probabilités conditionnelles. Théorème d'Adleman. Méthode probabiliste et dérandomisation
Méthode probabiliste et dérandomisation(version longue)

Séance 7 : A l'intérieur d'un solveur SAT

Algorithme DPLL. Apprentissage de clauses. A l'intérieur d'un solveur SAT
A l'intérieur d'un solveur SAT(version longue)

Séance 8 : Algorithmes online

Location de ski. Ratio compététif. Robot aveugle. Arbre de Steiner online. Mise en cache. Algorithmes en ligne
Algorithmes en ligne(version longue)

Séance 9 : Largeur arborescente (treewidth)

Complexité paramétrée. Paramétrisation. Décomposition arborescente. Largeur arborescente. Programmation dynamique pour ensemble indépendant, 3-coloration. Logique monadique du second ordre. Théorème de Courcelle (admis). Largeur arborescente
Largeur arborescente(version longue)

Séance 10 : Algorithmique quantique

Etat quantique. Etat de Bell. Algorithme de Grover. Algorithme QFT (quantum Fourier Transform). Idée générale de l'algorithme de Shor. Introduction à l'algorithmique quantique
Introduction à l'algorithmique quantique(version longue)
Version imagée de l'algorithme quantique avec des chats

Séance 11 : Chaîne de Markov

Irréductibilité, apériodicité. Réversibilité. Recuit simulé (idée). Algorithme de Propp-Wilson. Chaînes de Markov
Chaînes de Markov(version longue)

Références bibliographes

Aller voir à la fin de chaque fiche de cours.