S5 : Algorithmie avancée
Programme
En quatre parties.
TBD année prochaine faire préparer le cours avant et au tableau aller plus loin ?
Modèles de calculs et classes de problèmes "utiles"
- cours 1 : Modèle de calcul
- Cours 2 : Turing et NP
- Machines de Turing
- définition alternatives
- 2 curseurs
- 2 rubans
- alphabets
- Modèle
01#
- coder avec Turing
- doublement de batons
- autres exemples
- définition alternatives
- réduction de problèmes
- Classes de problèmes :
- Machines de Turing
- Cours 3 : NP et Turing, NPC
- SAT, 3-SAT et 2-SAT
- P, NP et NPC
- Cours 4 : problème du sac à dos
- SAC à dos est NPC
- résolutions :
- fractionnel
- énumération (juste donner le principe)
- programmation dynamique
C
Le but de cette partie est d'avoir assez de bases en C pour s'amuser.
N'hésitez pas à suivre et à faire également les exercices du cours suivant :
https://www.0de5.net/stimuli/a-reintroduction-to-programming/essentials/just-enough-c-to-have-fun
- Cours 1 : Système et consequences pour le code
- architecture générale
- Mémoire :
- organisation système de la mémoire
- différence entre pile et tas
- cours de C : survole tout jusqu'aux exercices. A préparer chez vous
- Cours 2 : exercices en C
DM
Faire en C le projet sac à dos
A rendre pour le 18 octobre.
TBD année prochaine :
- les faire préparer le cours :
- lire le cours : (pseudo-assembleur si pas préparé avant), von Neumann et C avant
- faire le premier exercice
- pendant le cours faire le système avec radare2 qui décompile à la volée comme dans <https://www.youtube.com/watch?v=76acHVJfziw.
Bases de la théorie des graphes
Cours 1
- Graphes bases :
- rappel des définitions
- quelques propriétés sur les degrés, les chemins et les cycles
- NP complétude du problème clique
- exercice sur les tournois
Cours 2
- Parcours eulériens
- Parcours hamiltoniens
- idée du problème du postier chinois
Cours 3
- rappels sur les chemins les plus courts :
- Arbres :
- version théorie des graphes des arbres
- définitions
- propriétés fondamentales
- Cayley et Prüfer
- Arbres couvrants
- version théorie des graphes des arbres
Problèmes de flots
Cours 1 : problèmes
Cours 2 : applications
Exercices sur les flots :
Graphes biparti
DS
Temporellement placé juste après le cours 6.
Couplages dans les graphes
Cours 1 et 2
- graphes bi-parti (fin) :
- théorème de Graham-Pollack
- NP-complétude de la reconnaissance triparti
- couplage
- Application : algorithme de Chritofides
- $k$-connectivité d'un graphe
Cryptographie
Cours 1, 2 et 3
Colorabilité
TBD
Planarité
TBD
Graphes aléatoires et infini
TBD
Modalités de contrôle
Note
La note de cette UE résulte de cette formule :
$$ \max (\frac{DM+ DS + ET}{3}, ET) $$
Avec :
- $DM$ devoir(s) maison ou exposé(s)
- $DS$ la note du devoir surveillé
- $ET$ est l'examen terminal
Rendus
- deux dm de code
- une présentation d'une jolie démonstration du proof from the book.
- un ds de théorie des graphes/informatique théorique