Chapitre d’ouvrage

9. Programmation dynamique

Pages 161 à 186

Citer ce chapitre


  • Bhargava, A.
(2023). 9. Programmation dynamique. Les algorithmes, c'est plus simple avec un dessin ! (p. 161-186). De Boeck Supérieur. https://stm.cairn.info/les-algorithmes-c-est-plus-simple-avec-un-dessin--9782807345331-page-161?lang=fr.

  • Bhargava, Aditya.
« 9. Programmation dynamique ». Les algorithmes, c'est plus simple avec un dessin ! De Boeck Supérieur, 2023. p.161-186. CAIRN.INFO, stm.cairn.info/les-algorithmes-c-est-plus-simple-avec-un-dessin--9782807345331-page-161?lang=fr.

  • BHARGAVA, Aditya,
2023. 9. Programmation dynamique. In : Les algorithmes, c'est plus simple avec un dessin ! Louvain-la-Neuve : De Boeck Supérieur. Informatique, p.161-186. URL : https://stm.cairn.info/les-algorithmes-c-est-plus-simple-avec-un-dessin--9782807345331-page-161?lang=fr.

Revenons au problème du sac à dos du chapitre 8. Vous êtes un voleur avec un sac à dos pouvant transporter 4 kg de marchandises.Il y a trois articles que vous pouvez mettre dans le sac à dos.
Quels objets dérober pour que le butin représente le plus d’argent possible ?
L’algorithme le plus simple est le suivant : vous essayez tous les ensembles d’articles possibles et trouvez celui qui a la plus forte valeur.
Cela fonctionne, mais c’est vraiment lent. Pour 3 articles, vous devez calculer 8 assortiments possibles. Pour 4 articles, vous devez en calculer 16. Avec chaque élément que vous ajoutez, le nombre d’ensembles que vous devez calculer double ! Cet algorithme prend un temps O(2n), ce qui est très, très lent.C’est peu pratique pour n’importe quel nombre raisonnable de biens. Au chapitre 8, vous avez vu comment calculer une solution approximative. Cette solution sera proche de la solution optimale, mais ce n’est peut-être pas la solution optimale.
Alors comment calculer la solution optimale ?
Réponse : avec la programmation dynamique ! Voyons comment fonctionne l’algorithme de programmation dynamique ici. La programmation dynamique commence par résoudre des sous-problèmes et se développe pour résoudre le problème principal.
Pour le problème du sac à dos, vous commencerez par résoudre le problème de sacs à dos plus petits (ou « sous-sacs à dos »), puis travaillerez jusqu’à résoudre le problème d’origine.La programmation dynamique est un concept difficile, alors ne vous inquiétez pas si vous ne comprenez pas tout de suite…


Date de mise en ligne : 24/07/2024

Ce chapitre est en accès conditionnel

Acheter ce chapitre

3,00 €

26 pages format électronique (HTML, PDF et feuilletage)
Membre d'une institution cliente ?