Numérique et sciences informatiques (NSI) · Première

Les algorithmes gloutons

Rendre la monnaie avec le moins de pièces possible, remplir un sac en emportant le plus de valeur : ce sont des problèmes d’optimisation. Essayer toutes les possibilités devient vite impossible. Un algorithme glouton construit une solution pas à pas, en faisant à chaque étape le choix qui semble le meilleur sur le moment. C’est rapide… mais pas toujours optimal.

Une question sur ce cours ?

ULU, le tuteur d’ULUMINE, t’aide à partir de ce cours.

Séance guidée avec ULU (≈ 10 min)Diagnostic, explication, exercices adaptés et bilan.

Objectifs

  • Reconnaître un problème d’optimisation et la stratégie gloutonne
  • Écrire et dérouler l’algorithme glouton du rendu de monnaie
  • Appliquer une stratégie gloutonne au problème du sac à dos
  • Savoir qu’un algorithme glouton ne donne pas toujours la solution optimale et trouver un contre-exemple

1. Le principe glouton

Algorithme glouton : Algorithme qui construit une solution étape par étape en faisant à chaque fois le choix localement optimal (le meilleur à cet instant), sans jamais revenir en arrière.

Avantage : il est simple et rapide. Une recherche exhaustive, elle, doit souvent examiner un nombre énorme de cas : avec n objets, il y a 2ⁿ façons d’en choisir une partie (plus d’un million pour 20 objets). Inconvénient : la solution obtenue n’est pas forcément la meilleure.

2. Le rendu de monnaie

Problème : rendre une somme avec le moins de pièces et billets possible. Stratégie gloutonne : rendre à chaque fois la plus grande valeur possible qui ne dépasse pas la somme restante.

3. Le problème du sac à dos

Un sac supporte au plus 10 kg. On veut emporter des objets de valeur totale maximale sans dépasser cette capacité.

4. D’autres problèmes gloutons

Planification d’activités : pour placer le plus grand nombre possible d’activités qui ne se chevauchent pas dans une salle, on choisit à chaque fois, parmi les activités compatibles, celle qui se termine le plus tôt. Pour ce problème, on peut démontrer que ce choix glouton est optimal.

À retenir

  • Un algorithme glouton fait à chaque étape le choix localement optimal, sans retour en arrière.
  • Rendu de monnaie : rendre la plus grande pièce possible ; optimal pour l’euro, pas pour tout système (1, 3, 4 pour 6).
  • Sac à dos : on trie par rapport valeur/poids décroissant et on prend ce qui rentre ; pas toujours optimal.
  • Le glouton est rapide ; la recherche exhaustive (2ⁿ cas) est sûre mais vite impraticable.
  • Pour montrer qu’un glouton n’est pas optimal, il suffit d’un contre-exemple.

Et maintenant, à toi !

Vérifie que tu as compris avec les exercices, puis révise avec la fiche.

À découvrir aussi

Première · Numérique et sciences informatiques (NSI)

Représenter les entiers : binaire, hexadécimal, complément à deux

Écrire un entier en base 2 et en base 16, passer d’une base à l’autre, coder les entiers relatifs en complément à deux : cours et exercices de NSI en Première.