Le but de l'algorithmique peut être résumé par: trouver un "bon" algorithme pour un problème donné;. Cela soulève de nombreuses questions:
- Existe-t-il un algorithme pour résoudre le problème? ( calculabilité, indécidabilité).
- Le problème est-il un "classique"? (modélisation, reformulation, connaissances).
- Comment concevoir un algorithme? (algorithmes corrects par construction, paradigmes)
- L'algorithme apporte-t-il bien la réponse au problème donné? ( correction des algorithmes)
- Que dire des ressources utilisées par l'algorithme? (analyse d'algorithmes)
- L'algorithme est-il "raisonnablement" efficace? Pourrait-on faire mieux? Que dire des ressources minima nécessaires pour résoudre le problème? (complexité des problèmes)
- Peut-on espérer avoir un algorithme "rapide" exact? Le problème est-il "dur"? (NP-dureté)
- Que faire face à un problème dur?
<ol>
<li> d'analyser un problème - modélisation, reformulation, complexité, réduction. </li>
<li> de concevoir une solution algorithmique appropriée, exacte ou approchée, en particulier en utilisant à bon escient les structures et paradigmes classiques- programmation dynamique, algorithme glouton, recherche exhaustive, heuristique, ...- </li>
<li> d'analyser cette solution -correction, complexité, efficacité, ... . </li>
</ol>
Contenu
- Paradigmes classiques de conception d'algorithmes (programmation dynamique, diviser et régner, algorithmes gloutons, backtracking, ...).
- Complexité de problèmes, Classes P, NP et EXPTime, Réductions polynomiales, NP-dureté.
- Méthodes "avancées" pour résoudre de manière exacte ou approchée des problèmes NP-durs (Branch-and-Bound, algorithmes probabilistes, heuristiques, méta-heuristiques, ...)
- Le cours pourra être complété par une ou deux séances : décidabilité, éthique des algorithmes, ...
- Učitel: Emilie Allart
- Učitel: Bilel Derbel
- Učitel: Pierre Fortin
- Učitel: Igor Martayan
- Učitel: Marie-Emilie Voge
- Učitel: Thi Xuan Vu
- Gestionnaire de l’offre de formation: Elodie Broucke