Adloun

Algorithmes gloutons

Cours · OCaml (option informatique), chapitre 12 · prépas MPSI et MP, option informatique · le début du chapitre, la suite sur Adloun

Un algorithme glouton : pour rendre la monnaie, on prend à chaque étape la plus grande pièce possible.

12.1 Introduction et motivation

Le chapitre précédent explorait tout l'espace des choix par retour sur trace — exact, mais souvent exponentiel. À l'opposé, un algorithme glouton ne se pose qu'une question à chaque étape : « quel est le meilleur choix local, ici et maintenant ? » ; il le fait, et ne revient jamais dessus. C'est rapide (un seul parcours, sans exploration), mais ce n'est pas toujours optimal : tout l'art est de reconnaître les problèmes où la stratégie gloutonne donne, malgré sa myopie, la solution optimale.

Ce chapitre présente le principe glouton sur deux problèmes classiques — le rendu de monnaie et la sélection d'activités — puis montre, par un contre-exemple, où le glouton se trompe, ce qui motivera la programmation dynamique du chapitre suivant.

12.2 Le principe glouton

Méthode : Stratégie gloutonne

Pour construire une solution pas à pas :

  • à chaque étape, faire le choix qui semble le meilleur sur le moment (le plus grand, le plus court, le moins cher…) ;
  • ne jamais remettre ce choix en question.

C'est glouton car on saisit le gain immédiat sans anticiper. Avantage : très rapide (pas de retour arrière). Risque : un bon choix local peut interdire la meilleure solution globale.

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre