Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF4143  Gr. 01
Titre : Algorithmique I
Session : Hiver 2007  Horaire et local
Professeur : Kupczynski, Marian
1. Description du cours paraissant à l'annuaire :

Objectifs

Fournir à l'étudiant des outils pour choisir une solution algorithmique efficace à un problème donné et estimer sa performance. Le sensibiliser à l'importance de choisir la solution la plus adéquate.

Contenu

Critères de choix d'une solution algorithmique de problèmes, complexité d'algorithme versus performance de l'implantation, complexité en pire cas et en moyenne. Principaux types d'algorithmes, leurs qualités et défauts : algorithmes voraces, diviser pour régner, retour arrière, «branch and bound», programmation dynamique; exemples de problèmes résolus par des algorithmes de chaque type et leur analyse. Méthodes d'exploitation des graphes et leurs applications. Bornes inférieures de performance des algorithmes. Problèmes polynomiaux et intraitables, problèmes NP-complets, heuristiques, solutions approximatives.
2. Objectifs spécifiques du cours :
  1. Familiariser les étudiants avec diverses classes d'algorithmes.
  2. Fournir des outils permettant de choisir un type d'algorithme approprié au problème donné.
  3. Enseigner les techniques d'analyse d'efficacité des algorithmes.
3. Stratégies pédagogiques :
  1. Cours magistral : théorie et exemples pratiques.
  2. Travaux pratiques.
  3. Un examen de mi-session et un examen final.
4. Heures de disponibilité ou modalités pour rendez-vous :
 
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Préliminaires
  • notion d'algorithme et son efficacité
  • analyse en pire cas et en moyenne
10 jan. 2007 
2    Analyse de l'efficacité des algorithmes
  • notation asymptotique
17 jan. 2007 
3    Analyse de l'efficacité des algorithmes (suite)
  • exemples d'analyse des algorithmes
24 jan. 2007 
4    Les algorithmes voraces
  • notion
  • arbres sous-tendants minimaux : l'algorithme de Prim
  • les plus courts chemins : l'algorithme de Dijkstra
31 jan. 2007 
5    Les algorithmes voraces (suite)
  • rangement optimal sur les bandes
  • heuristiques voraces suboptimales
07 fév. 2007 
6    Diviser pour régner
  • notion
  • la fouille dichotomique
  • le tri par fusion
14 fév. 2007 
7    Examen de mi-session 21 fév. 2007 
8    Semaine d'études 28 fév. 2007 
9    Diviser pour régner (suite)
  • le tri de Hoare (quicksort)
  • la multiplication matricielle : l'algorithme de Strassen
07 mars 2007 
10    Algorithmes de permutations et de tautologie 14 mars 2007 
11    La programmation dynamique
  • notion
  • calcul des coefficients binomiaux: le triangle de Pascal
  • les plus courts chemins: l'algorithme de Floyd
  • le commis voyageur
21 mars 2007 
12   

Exploration des graphes

  • exploration en pré-ordre, en en-ordre et en post-ordre des arborescences
  • la fouille en largeur et en profondeur des graphes

28 mars 2007 
13    La théorie des bornes inférieures Algorithmes à retour arrière (« backtracking »)
  • notion
  • le problème de huit reines
  • les cycles hamiltoniens

« Branch and bound »

  • notion
  • le commis voyageur

  • arborescences de décisions pour la fouille et pour le tri
  • oracles et arguments adversaires

04 avr. 2007 
14   

Introduction à la NP-complétude

11 avr. 2007 
15   

Examen final

18 avr. 2007 
6. Évaluation du cours :
  • Examen de mi-session : 30 %
  • Examen final : 50 %
  • Travaux à la maison : 20 %
7. Politiques départementales et institutionnelles :
8. Principales références :
  1. A. Pelc, Algorithmique I, Notes de cours pour INF4143, UQAH, (OBLIGATOIRE).
  2. G. Brassard, P. Bratley, Algorithmique: conception et analyse, Presses de l'Université de Montréal, 1987.
  3. A.V. Aho, J.E. Hopcroft, J.D. Ullman, Data structures and algorithms, Addison-Wesley 1983.
  4. E. Horowitz, S. Sahni, Fundamentals of computer algorithms, Computer Science Press 1978 (recommandé).
9. Page Web du cours :