% INF7440 — Conception et analyse des algorithmes % UQAM — Département d'informatique % Plan de cours — Automne 2021 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Laforest, Louise PK-4725 Groupes: 040 Description du cours ==================== Rappels sur l'analyse des algorithmes: notations asymptotiques, types d'analyse (pire cas, cas moyen), équations de récurrence et techniques de résolution. Stratégies de conception d'algorithmes séquentiels (diviser pour régner, programmation dynamique, algorithmes voraces): algorithmes déterministes d'exploration d'espaces combinatoires (marche arrière, avec séparation et évaluation progressive). Sujets divers: Algorithmes parallèles , algorithmes probabilistes (méthode Monte-Carlo, chaînes de Markov), heuristiques et algorithmes d'approximation pour problèmes difficiles. Objectif du cours ================= Le cours vise à initier les étudiant(e)s aux principes de base de la conception et de l'analyse des algorithmes. À la fin du cours, l'étudiant(e) devrait être en mesure - d'analyser la complexité et l'efficacité de différents types d'algorithmes; - de choisir les structures de données appropriées selon le contexte; - de concevoir des algorithmes en appliquant les principales stratégies de conception; - d'expliquer et de justifier sa démarche autant à l'oral qu'à l'écrit. Contenu du cours ================ Thèmes abordés, dans l'ordre : - Chapitre 0 : Présentation du cours - Chapitre 1 : Problèmes et algorithmes - Chapitre 2 : Complexité temporelle des algorithmes - Chapitre 3 : Résolution d'équation de récurrence - Chapitre 4 : Diviser pour régner - Chapitre 5 : Programmation dynamique - Chapitre 6 : Algorithmes gloutons - Chapitre 7 : Algorithmes sur les graphes - Chapitre 8 : Algorithmes probabilistes - Chapitre 9 : Analyse amortie - Chapitre 10 : Algorithmes de retour en arrière - Chapitre 11 : NP-complétude Modalités d'évaluation ====================== DESCRIPTION DATE PONDÉRATION ------------- ---------------------- ------------- Devoir 1 Vendredi 15 octobre 20% Devoir 2 Vendredi 12 novembre 20% Devoir 3 Vendredi 10 décembre 20% Examen Jeudi 16 décembre 40% L'étudiant.e dont la note à l'examen est inférieure à 50 % aura la note finale E peu importe la note obtenue pour les autres composantes de l'évaluation. Les détails concernant la remise des devoirs seront précisés dans chacun des énoncés. L'utilisation de livres et de documentation personnelle est permise à l'examen. Les calculatrices, téléphones cellulaires, ordinateurs portables et tout autre dispositif électronique sont strictement interdits durant l'examen. L'examen et les devoirs sont individuels. En cas de plagiat ou de fraude, la sanction peut aller de la note zéro pour le travail ou l'examen, jusqu'à l'exclusion de l'université. Les règlements concernant le plagiat seront strictement appliqués. Pour plus de renseignements, consultez les sites suivants : [RÈGLEMENT NO 18](https://instances.uqam.ca/wp-content/uploads/sites/47/2017/12/REGLEMENT_NO_18.pdf) et [UQAM \| Infosphère \| Éviter le plagiat](http://www.infosphere.uqam.ca/rediger-un-travail/eviter-plagiat) Médiagraphie ============ - Site web du cours : https://ena01.uqam.ca/my/ - Cormen, T., Leiserson, C., Rivest, R., Stein, C. - *Introduction à l'algorithmique (3ème édition)* - Dunod (2009). - Knuth, D.E. - *Algorithmes* - CSLI Publications, 2011. - Aho, A.V., Hopcroft, J.E., Ullman, J.D. - *Data Structures and Algorithms* - Addison-Wesley, 1983. - Neapolitan, R. et Naimipour, K. - *Foundations of Algorithms Using Java Pseudocode* - Jones and Bartlett Publishers, 2004. - Motwani, R. et Raghavan, P. - *Randomized Algorithms* - Cambridge University Press, 2006. - Weiss, M.A. - *Data Structures and Algorithm Analysis in C++ (3ème édition)* - Addison Wesley, 2006. - Goodrich, M.,T., Tamassia, R. - *Algorithm Design - Foundations, Analysis, and Internet Examples* - Wiley, 2002. - Levitin, A. - *Introduction to The Design and Analysis of Algorithms (2ème édition)* - Addison Wesley, 2007. - Casanova, H., Legrand, A., Robert Y. - *Parallel Algorithms* - CRC Press, 2009. - Lacomme, P., Prins, C., Sevaux, M. - *Algorithmes de graphes (2ème édition)* - Eyrolles, 2003 - Aho, A.V., Ullman, J.D. - *Foundations of Computer Science* - Computer Science Press, 1992. - Baase, S. - *Computer Algorithms: Introduction to the Design and Analysis of Algorithms - (3e édition)*, Addison-Wesley, 2000. - Brassard, G., Bratley, P. - *Fundamentals of Algorithmics* - Prentice-Hall, 1996. - Brassard, G., Bratley, P. - *Algorithmique: conception et analyse* - Masson, 1987. - Goodrich, M.T. and Tamassia, T. - *Data Structures and Algorithms in Java* - John Wiley & Sons, 1998. - Graham, R.L., Knuth, D.E., Patashnik, O. - *Concrete Mathematics: a Foundation for Computer Science* - Addison-Wesley, 1994. - Harel, D. - *Algorithmics, The Spirit of Computing* - Addison-Wesley, 1987. - Johnsonbaugh R. and Schaefer, M. - Algorithms - Pearson Education, 2004. - Moret, B.M.E. - *Towards a discipline of experimental algorithmics. In Proc. 5th DIMACS Challenge, volume DIMACS Monographs 59, pages 197-213* - American Mathematical Society, 2002. - Rosen, Kenneth H. -- Mathématiques discrètes -- 2e édition, Chenelière/McGraw-Hill, 2001. - Sedgewick, R. - *Algorithms (2e edition)* - Addison-Wesley, 1988.