Académique Documents
Professionnel Documents
Culture Documents
14 2 10 3
8 4 7 5 9 6 3 7
2 8 4 9 1 10
Structures de données
élémentaires
5
4 4 4
3 3 3 3
2 2 2 2
1 1 1 1
a) Pile initiale b) Empiler(4) c) Empiler(5) d) Dépiler(5)
1 4 2 0 1 4 2 0 3 5 1 4 2 0 3
3 1 6 9 8 4 7
b) état de la file après l’opération INSERTION(3)
3 1 6 9 8 4
c) état de la file après l’opération SUPPRESSION qui a renvoyé la valeur
7
7 4 8 9 6
7 4 8 9 6 1
3 7 4 8 9 6 1
3 4 8 9 6 1
5 9 6 4 1
5 9 6 1
5 9 6 4 1
5 9 6 1
L’algorithme CHAÎNEDEMATRICES-RECURSIF
est un algorithme de programmation
dynamique avec une approche descendante
mais sans recensement.
L’algorithme ORDONNER-CHAÎNEDEMATRICES
est également un algorithme de la
programmation dynamique avec une approche
ascendante.
Algorithmes
Gloutons
Introduction
Pour de nombreux problèmes d’optimisation la
programmation dynamique est une approche
trop lourde pour déterminer les meilleures
solutions ; d’autres algorithmes plus simples et
efficaces peuvent faire le travail (algorithmes
gloutons).
Un algorithme glouton fait toujours le choix qui
semble le meilleur sur le moment. Autrement dit, il
fait un choix optimal localement, dans l’espoir
que ce choix mènera à la solution optimale
globalement.
Les algorithmes gloutons n’aboutissent pas
toujours à des solutions optimales, mais la
méthode gloutonne est très puissante et
fonctionne correctement pour des problèmes
variés.
7.1 Location d’une voiture
On considère le problème de la location d’une
unique voiture. Des clients formulent un ensemble
de demandes de location avec, pour chaque
demande, le jour du début de la location et le
jour de restitution du véhicule.
Notre but ici est d’affecter le véhicule de
manière à satisfaire le maximum de clients
possible (et non pas de maximiser la somme des
durées des locations).
Nous disposons donc d’un ensemble E des
demandes de location avec, pour chaque
élément e de E, la date d(e) du début de la
location et la date f(e) de la fin de cette location.
Nous voulons obtenir un ensemble F maximal
de demandes satisfaites. Cet ensemble F doit
vérifier une unique contrainte : deux
demandes ne doivent pas se chevaucher
dans le temps, autrement dit une location
doit se terminer avant que la suivante ne
commence. Cette contrainte s’écrit
mathématiquement :
Cet algorithme est glouton car à chaque étape il
prend la location « la moins coûteuse » : celle qui
finit le plus tôt parmi celles qui sont satisfiables.
Limites de l’algorithme