Arborescence des pages
ConfigureOutils de l'espace
Aller directement à la fin des métadonnées
Aller au début des métadonnées

CES8AF

Pépites algorithmiques

 

Crédits : 4 ECTS 

Durée : 36 heures


Semestre : S8

Responsable(s) :

Bart LAMIROY, Maître de Conférences,  bart.lamiroy@mines-nancy.univ-lorraine.fr

Mots clés :

 algorithmique

Pré requis : algorithmique élémentaire, programmation impérative

Objectif général : découvrir la beauté de l'optimisation algorithmique par le biais d'exemples concrets

Programmes et contenus :

Objectifs pédagogiques

Un algorithme est une méthode précise permettant de résoudre un problème générique, en combinant des
opérations suffisamment simples pour être effectuées par une machine. Il ne doit pas faire appel à des décisions subjectives, ni à l'’intuition, mais reposer sur une démarche rigoureuse et méthodique. Tout l'’intérêt de l’algorithmique est de proposer ainsi des méthodes élégantes et efficaces pour résoudre des problèmes a priori complexes. Pour cela, on s'’appuie à la fois sur une combinaison d'’opérations élémentaires de raisonnement, et sur l’'emploi de structures de données pertinentes.
Les algorithmes sont au cœoeur des systèmes dans toutes les disciplines de l'’ingénierie. L’'objectif de ce cours est d'’illustrer la diversité et la « beauté » de l'’algorithmique, non pas par une étude exhaustive ou méthodique de toute les familles d’algorithmes, mais par l’étude détaillée de quelques problèmes représentatifs.
Le cours se décompose en 5 ou 6 parties de 2 à 3 séances. Chaque partie traite d’un problème – une pépite –
présenté par un spécialiste du domaine. On commencera par exposer les solutions naïves, pour ensuite explorer différentes voies possibles pour leur optimisation. Puis un algorithme représentatif de l’'état de l’art sera détaillé, puis programmé.
Les cas étudiés varieront chaque année et seront pris pour être représentatifs de la grande variété des problèmes (cryptographie, géométrie algorithmique, optimisation numérique, traitement d'images, parallélisme, jeux, traitement du langage naturel ...)

Compétences : 

Niveaux

Description et verbes opérationnels

Connaître 

le panorama des contextes dans lesquels l'algorithmique apporte une valeur ajoutée dans la résolution de problèmes

Comprendre 

que le choix judicieux des structures de données et des hypothèses d'exécution peut avoir un impact significatif sur la faisabilité pratique d'une solution réalisable en théorie

Appliquer 

des techniques de résolution de problèmes et d'optimisation algorithmique

Analyser 

des problèmes physiques et d'en apporter une solution algorithmique

Synthétiser

 

Évaluer

la différence qualitative (en termes de performances et capacités de solution) entre différentes solutions algorithmiques pour un même problème.

Évaluations :

  • Test écrit
  • Contrôle continu
  • Oral, soutenance
  • Projet
  • Rapport
  • Aucune étiquette