Algorithme glouton
Un algorithme glouton est un algorithme it´eratif qui `a chaque ´etape
essaye de s’approcher au maximum de la solution.
Par exemple :
le rendu de monnaie : quelle somme de billets/pi`eces permet
d’atteindre une valeur donn´ee ?
Pour rendre 37 euros, on calcule 37 = 20 + 10 + 5 + 2.
les valeurs des billets/pi`eces font que la solution est optimale.
le probl`eme du voyageur de commerce : quel est le plus court
chemin passant par nvilles donn´ees ?
On va toujours `a la ville la plus proche non encore visit´ee.
donne une bonne solution, mais rarement optimale.
Programmation dynamique
La programmation dynamique consiste `astocker les r´esultats des
instances d’un probl`eme que l’on r´esout pour ne jamais avoir `a
r´esoudre deux fois une mˆeme instance.
permet parfois de rendre efficace un algorithme r´ecursif simple.
Par exemple :
suite doublement r´ecursive : en stockant les valeurs interm´ediaires
de fibo1 on obtient fibo2.
passe de Θ(2n)`aΘ(n) en utilisant un peu de m´emoire.
coefficients binomiaux avec le triangle de Pascal
voir TD 04.
Quelques autres m´ethodes
Force brute : nom donn´e`a un algorithme qui trouve la solution en
essayant toutes les solutions possibles.
recherche de clef en cryptographie.
Diviserpourr´egner : m´ethode r´ecursive qui consiste `adiviser
un probl`eme en sous-probl`emes, r´esoudre les sous-probl`emes et
recombiner les r´esultats.
algorithmes de tri (voir cours 05).
Algorithmes g´en´etiques : algorithme pour trouver une solution
(quasi-)optimale d’un probl`eme d’optimisation en partant de so-
lutions approch´ees, en les faisant ´evoluer et en les s´electionnant.
un des projets d’IN104.
Th´eorie de la complexit´e