|
|
|
INF7440 - Conception et analyse d'algorithmes.
Groupe 040 - Automne 2004.
Planning du cours.
-
Cette page comprendra le planning détaillé, semaine par semaine
du cours (qui sera mis en place dépendant du rythme auquel nous
irons), ainsi que les références spécifiques à chaque
séance, des exercices, du matériel additionnel, ...
Semaine 14 : jeudi 09 décembre
Semaine 13 : jeudi 02 décembre
- Algorithmique du texte : algorithme de Aho-Corasick, arbre des suffixes,
tableau des suffixes, applications (Blast).
- Références spécifiques :
-
M. Crochemore, C. Hancart et T. Lecroq.
Algorithmique du texte, Vuibert, 2001.
-
D. Gusfield.
Algorithms on strings, trees and sequences, Cambridge University Press, 1999.
Semaine 12 : jeudi 25 novembre
-
Algorithmes aléatoires :
transparents.
Algorithmique du texte : algorithme naif et algorithme de Morris-Pratt.
- Références spécifiques :
-
Notes de Guy Tremblay sur le voyageur de commerce
(section sur le recuit simulé) et sur les
heuristiques.
-
M. Crochemore, C. Hancart et T. Lecroq.
Algorithmique du texte, Vuibert, 2001.
-
D. Gusfield.
Algorithms on strings, trees and sequences, Cambridge University Press, 1999.
-
Un site avec des animations des principaux algorithmes :
Exact String Matchings Algorithms.
Semaine 11 : jeudi 18 novembre
-
Algorithmes d'approximation et heuristiques :
transparents.
- Programmes :
- Références spécifiques :
-
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Section 9.5.
-
Notes de Guy Tremblay sur le voyageur de commerce et
sur les algorithmes d'approximation.
Semaine 10 : jeudi 11 novembre
-
Exploration déterministe d'un espace combinatoire : branch-and-bound.
transparents.
- Programmes (dus à Guy Tremblay pour la plupart) pour le voyageur de commerce:
- Références spécifiques :
-
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Chapitre 6.
-
Notes de Guy Tremblay sur le voyageur de commerce et
sur les algorithmes branch-and-bound.
Semaine 9 : jeudi 4 novembre
-
Exploration déterministe d'un espace combinatoire : retour-arrière et
branch-and-bound :
transparents.
- Programmes (dus à Guy Tremblay) :
- Références spécifiques :
-
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Chapitres 5 et 6.
Semaine 8 : jeudi 28 octobre
-
Algorithmes parallèles (suite) : le modèle PRAM.
- Programmes (dus à Guy Tremblay) :
- Références spécifiques :
Semaine 7 : jeudi 21 octobre
-
Algorithmes parallèles (suite) : métrique d'analyse d'algorithmes
parallèles, modèle PRAM :
Transparents.
- Programmes (dus à Guy Tremblay) :
-
Recherche du minimum (transp. 19) : min-pram.mpd.
-
Recherche du minimum sans problème de synchronisation :
-
Version optimale en coût (transp. 24) : min-pram-opt.mpd
- Références spécifiques :
- Quelques exercices : Série 7.
Semaine 6 : jeudi 14 octobre
Semaine 5 : jeudi 7 octobre
-
Programmation dynamique (suite et fin).
-
Algorithmes voraces :
Transparents
- Références spécifiques :
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Chapitres 3 et 4 et Annexe C.
- Exercices : Série 5.
Semaine 4 : jeudi 30 septembre
-
Programmation dynamique.
- Références spécifiques :
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Chapitre 3.
- Quelques articles sur la programmation dynamique.
- Exercices : Série 4.
Semaine 3 : jeudi 23 septembre
-
Fin du cours sur la stratégie Diviser-Pour-Régner.
-
Résolution d'équations de récurrences.
- Références :
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Chapitre 2 et Appendice B.
- Exercices : Série 3.
Semaine 2 : jeudi 16 septembre
- Rappels sur les notions mathématiques reliées à
l'analyse d'algorithmes.
-
Principe de l'analyse d'algorithmes et principales mesures de
complexité : dans le pire des case, dans le meilleur cas,
dans tous les cas et en moyenne.
-
Notations mathématiques : grand O, grand theta et grand omega.
- Approche Diviser-Pour-Régner, premiè partie :
- Références :
R. Neapolitan and K. Naimipour.
Foundations of Algorithms Using C++ Pseudo-code (Third Edition) :
Chapitres 1 et 2.
- Exercices : Série 2.
Semaine 1 : jeudi 9 septembre
- Présentation du cours INF7440.
- Rappels de base sur les algorithmes.
- Survol des paradigmes de programmation séquentiel et parallèle.
- Survol de différentes architectures parallèles.
- Exercices : Série 1.
|