« INFO704 : Analyse d'algorithmes » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
Responsable 2019: Sébastien Tavenas |
Responsable 2019: Sébastien Tavenas |
||
Adresse couriel : sebastien.tavenas@univ-smb.fr |
Adresse couriel : sebastien.tavenas@univ-smb.fr |
||
<!-- * Xavier Provençal (CM/TD/TP) --> |
|||
== Quelques ressources bibliographiques == |
== Quelques ressources bibliographiques == |
||
Ligne 17 : | Ligne 15 : | ||
== TP == |
== TP == |
||
Dates provisoires : |
|||
- 22/25 septembre |
|||
- 9 octobre |
|||
- 16 octobre |
|||
<!-- |
|||
TP1 le 25 septembre : Analyser la complexité d'algorithmes |
TP1 le 25 septembre : Analyser la complexité d'algorithmes |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/TP_Analyse/tp1_enonce.pdf Sujet du TP 1] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/TP_Analyse/tp1_enonce.pdf Sujet du TP 1] |
||
Ligne 70 : | Ligne 75 : | ||
!--- |
|||
TP les 10 octobre et 6 novembre. |
TP les 10 octobre et 6 novembre. |
||
Ligne 81 : | Ligne 86 : | ||
* [https://mycore.core-cloud.net/index.php/s/QUHwEnb8nlkpFxh Graphe-vrai-CHNO.pdf] |
* [https://mycore.core-cloud.net/index.php/s/QUHwEnb8nlkpFxh Graphe-vrai-CHNO.pdf] |
||
* [https://mycore.core-cloud.net/index.php/s/ItC1deMoQ2dZ1So Graphe-vrai-3C.pdf] |
* [https://mycore.core-cloud.net/index.php/s/ItC1deMoQ2dZ1So Graphe-vrai-3C.pdf] |
||
----- |
----- |
||
TP3 le 18 octobre : Réductions polynomiales |
TP3 le 18 octobre : Réductions polynomiales |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/TP3/tp-part-2.pdf Énoncé du TP, deuxième partie]. |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/TP3/tp-part-2.pdf Énoncé du TP, deuxième partie]. |
||
Ligne 97 : | Ligne 102 : | ||
* [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/TP3/Instances/CS_faux CS-faux] |
* [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/TP3/Instances/CS_faux CS-faux] |
||
⚫ | |||
== Déroulement ( |
== Déroulement (2020) == |
||
Cours 1 ( |
Cours 1 (7 septembre) : Introduction |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S1Cours/CM1.pdf Introduction] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S1Cours/CM1.pdf Introduction] |
||
- Exemple de différents tris <!-- [http://www.lama.univ-savoie.fr/~provencal/enseignement/INFO704/tri.tgz Programme C/gtk pour illustrer différents algorithmes de tri].--> |
- Exemple de différents tris <!-- [http://www.lama.univ-savoie.fr/~provencal/enseignement/INFO704/tri.tgz Programme C/gtk pour illustrer différents algorithmes de tri].--> |
||
Ligne 109 : | Ligne 115 : | ||
--> |
--> |
||
Cours 2 (10 septembre) : |
|||
<!-- |
|||
⚫ | |||
- Présentation des algorithmes Diviser-pour-régner. |
|||
⚫ | |||
⚫ | |||
--> |
|||
⚫ | |||
<!-- |
|||
Rappels de mathématiques |
|||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/exos.pdf Sujet du TD] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/exos.pdf Sujet du TD] |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/grandO.pdf Grand-O de la notation de Landau] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/grandO.pdf Grand-O de la notation de Landau] |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/rappelsLog.pdf Fonctions mathématiques de base : polynômes, exponentielles et logarithmes] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/rappelsLog.pdf Fonctions mathématiques de base : polynômes, exponentielles et logarithmes] |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/Correction_exercices_2et3.pdf Correction des questions 1 et 2 du TD] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S2TD/Correction_exercices_2et3.pdf Correction des questions 1 et 2 du TD] |
||
--> |
|||
⚫ | |||
<!-- |
|||
Programmation dynamique. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | - Solutions aux exercices du cours précédent : [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/solutionsDPR/dmin.cpp dmin.cpp] [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/solutionsDPR/multGrandsEntiers.cpp multGrandsEntiers.cpp] [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/solutionsDPR/sommeMax.cpp sommeMax.cpp] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
--> |
|||
Cours 4 (29 septembre) : |
|||
⚫ | |||
⚫ | |||
!-- - Complexité d'un problème. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
--> |
|||
TD2 ( |
TD2 (2 octobre) : |
||
<!-- |
|||
Analyse des algorithmes |
|||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S3TD/ExoAnalyse.pdf Sujet du TD] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S3TD/ExoAnalyse.pdf Sujet du TD] |
||
- Complexité d'éléments basiques : instructions, tests, boucles Pour et TantQue |
- Complexité d'éléments basiques : instructions, tests, boucles Pour et TantQue |
||
Ligne 126 : | Ligne 172 : | ||
- [http://www.csail.mit.edu/~thies/6.046-web/master.pdf Exercices supplémentaires sur l'application du "Théorème maître" (sur la page de Bill Thies, MIT)]. |
- [http://www.csail.mit.edu/~thies/6.046-web/master.pdf Exercices supplémentaires sur l'application du "Théorème maître" (sur la page de Bill Thies, MIT)]. |
||
- [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/distance_min.pdf Problème du calcul de la distance minimum entre deux points]. --> |
- [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/distance_min.pdf Problème du calcul de la distance minimum entre deux points]. --> |
||
--> |
|||
⚫ | |||
⚫ | |||
<!-- Algorithmes récursifs (Diviser-pour-régner) |
|||
⚫ | |||
⚫ | |||
TD 3 (23 septembre) : Algorithmes récursifs (Diviser-pour-régner) |
|||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S5TD/exo_div_pour_regner.pdf Exercice algorithmes récursifs] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S5TD/exo_div_pour_regner.pdf Exercice algorithmes récursifs] |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S5TD/Solution-TD_operationsEntiers.pdf Correction des derniers exos de la feuille de TD.] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S5TD/Solution-TD_operationsEntiers.pdf Correction des derniers exos de la feuille de TD.] |
||
!-- |
|||
- Comparaison d'approches naïves VS diviser-pour régner (théorie et implémentation). |
- Comparaison d'approches naïves VS diviser-pour régner (théorie et implémentation). |
||
!-- - Problème du sous-tableau de somme maximale. -- |
!-- - Problème du sous-tableau de somme maximale. -- |
||
- Problème de la multiplication de grands entiers. |
- Problème de la multiplication de grands entiers. |
||
-- - [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/graphChrono.tgz Deuxième version du script graphChrono.py pour fabriquer une courbes des temps de calcul (utilise gnuplot)]. |
-- - [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/graphChrono.tgz Deuxième version du script graphChrono.py pour fabriquer une courbes des temps de calcul (utilise gnuplot)]. |
||
--> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
<!-- Réductions de NP-complétude |
|||
⚫ | |||
!-- |
!-- - Problèmes NP-difficiles et NP-complets. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | - Solutions aux exercices du cours précédent : [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/solutionsDPR/dmin.cpp dmin.cpp] [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/solutionsDPR/multGrandsEntiers.cpp multGrandsEntiers.cpp] [http://lama.univ-savoie.fr/~provencal/enseignement/INFO704/solutionsDPR/sommeMax.cpp sommeMax.cpp] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
--> |
--> |
||
⚫ | |||
TD 4 (14 octobre) : |
|||
<!-- Programmation dynamique |
|||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S7TD/TD-prog_dynamique.pdf Énoncé de TD.] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S7TD/TD-prog_dynamique.pdf Énoncé de TD.] |
||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S8Cours/Levenshtein.pdf Correction sur la distance de Levenshtein.] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S8Cours/Levenshtein.pdf Correction sur la distance de Levenshtein.] |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
--> |
--> |
||
⚫ | |||
<!-- - Problèmes NP-difficiles et NP-complets. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
TD 5 (23 octobre) : |
|||
<!-- NP-complétude |
|||
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S9Cours/EnonceTD.pdf Énoncé du TD] |
- [https://www.lama.univ-savoie.fr/pagesmembres/tavenas/info704/S9Cours/EnonceTD.pdf Énoncé du TD] |
||
--> |
|||
== Annales Examen == |
== Annales Examen == |
Version du 7 septembre 2020 à 10:04
Responsable 2019: Sébastien Tavenas
Adresse couriel : sebastien.tavenas@univ-smb.fr
Quelques ressources bibliographiques
Ouvrage de référence :
- Cormen, Leiserson, Rivest et Stein, Algorithmique, 3e edition (2009). ( Aussi appelé "Introduction à l'algorithmique" pour les deux premières éditions )
Autres références bibliographiques :
- Wilf, Algorithms and Complexity, (1994). Disponible en ligne
- Garey et Johnson, Computers and intractability a guide to the theory of NP-completeness. (1979).
- Hopcroft et Ullman, Introduction to automata theory, languages, and computation, (1979).
TP
Dates provisoires :
- 22/25 septembre - 9 octobre - 16 octobre
Déroulement (2020)
Cours 1 (7 septembre) : Introduction
- Introduction - Exemple de différents tris - Notions d'instance et de problème - Notion de complexité asymptotique
Cours 2 (10 septembre) :
TD 1 (17 septembre) :
Cours 3 (18 septembre) :
Cours 4 (29 septembre) :
TD2 (2 octobre) :
-->
TD 3 (5 octobre) :
Cours 5 (13 octobre) :
TD 4 (14 octobre) :
TD 5 (23 octobre) :
Annales Examen
Historique
Ce cours était donné précédemment par Xavier Provençal. Ce cours est une refonte de INFO724 Algorithmique avancée, graphes et NP-complétude.