{"id":189945,"date":"2021-07-08T13:22:35","date_gmt":"2021-07-08T11:22:35","guid":{"rendered":"https:\/\/sherpas.com\/blog\/algorithme-glouton\/"},"modified":"2025-01-07T17:37:25","modified_gmt":"2025-01-07T16:37:25","slug":"algorithme-glouton","status":"publish","type":"post","link":"https:\/\/sherpas.com\/blog\/algorithme-glouton\/","title":{"rendered":"[NSI] Qu\u2019est ce qu\u2019un algorithme glouton ? \ud83d\ude0b"},"content":{"rendered":"\n<p>Tu es curieux de savoir ce qu\u2019est un algorithme glouton ? Tu n\u2019as pas bien compris ton cours de NSI ? Ne t&rsquo;inqui\u00e8te pas, nous sommes l\u00e0 pour t\u2019aider \u00e0 comprendre ce concept fondamental en informatique. <\/p>\n\n\n\n<p><strong>Dans les probl\u00e8mes o\u00f9 l\u2019on a un syst\u00e8me dont on doit minimiser ou maximiser une caract\u00e9ristique, les algorithmes gloutons sont efficaces. \ud83d\udcaa<\/strong><\/p>\n\n\n\n<p>Passons tout de suite aux explications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"quest-ce-quun-algorithme-glouton\">Qu\u2019est-ce qu\u2019un algorithme glouton ? \ud83e\uddd0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"la-definition-dun-algorithme-glouton\"> La d\u00e9finition d&rsquo;un algorithme glouton <\/h3>\n\n\n\n<p><strong>\ud83d\udc49 Un algorithme glouton est un algorithme qui suit un principe permettant de trouver un optimum local. Par cela, il esp\u00e8re atteindre une solution optimale globale (du probl\u00e8me).<\/strong> Tu as l\u2019impression que je parle une autre langue ? Allons plus en d\u00e9tail avec un exemple.<\/p>\n\n\n\n<p>Prenons le tableau :<br>\n<\/p>\n\n\n\n<table id=\"tablepress-632\" class=\"tablepress tablepress-id-632\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">D\u00e9but<\/th><th class=\"column-2\">2<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">3<\/td><td class=\"column-2\">5<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">1<\/td><td class=\"column-2\">Fin<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n\n<p>L\u2019objectif de ce probl\u00e8me est de rejoindre la case \u201cD\u00e9but\u201d \u00e0 la case \u201cFin\u201d en ayant un co\u00fbt de passage le plus faible (addition des chiffres dans les cases). Les d\u00e9placements autoris\u00e9s sont verticaux et horizontaux. <strong>Le chemin optimal est : D\u00e9but \u2192 3 \u2192 1 \u2192 Fin, avec un co\u00fbt de 4. <\/strong><\/p>\n\n\n\n<p>Pour autant, on pourrait construire l\u2019algorithme glouton cherchant \u00e0 chaque \u00e9tape le co\u00fbt minimal. Il ferait donc : D\u00e9but \u2192 2 \u2192 5 \u2192 Fin, avec un co\u00fbt de 7. Ce chemin n\u2019est pas le chemin optimal\u2026 \ud83d\ude25<br>\n&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"pourquoi-choisir-un-algorithme-glouton\">Pourquoi choisir un algorithme glouton ?<\/h3>\n\n\n\n<p>Mais alors, pourquoi choisir un algorithme glouton ? <strong>Car les algorithmes gloutons ont une complexit\u00e9 plus faible.<\/strong> <strong>En effet, pour trouver dans l\u2019exemple ci-dessus le chemin optimal, l\u2019algorithme de recherche fonctionnera comme un arbre. En moyenne, il mettra plus de temps \u00e0 donner la solution. <\/strong><\/p>\n\n\n\n<p>Parfois l\u2019algorithme glouton peut donner la solution optimale, par exemple avec ce tableau et la m\u00eame r\u00e8gle que l\u2019on a utilis\u00e9e pr\u00e9c\u00e9demment :<\/p>\n\n\n\n<table id=\"tablepress-633\" class=\"tablepress tablepress-id-633\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">D\u00e9but<\/th><th class=\"column-2\">2<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">3<\/td><td class=\"column-2\">1<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">2<\/td><td class=\"column-2\">Fin<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n\n<p> L\u2019algorithme glouton ferait : D\u00e9but \u2192 2 \u2192 1 \u2192 Fin. <\/p>\n\n\n\n<p><strong>\ud83d\udc49 Pour autant, sans une autre v\u00e9rification, on ne peut pas conclure \u00e0 l\u2019optimalit\u00e9 d\u2019un chemin si on utilise un algorithme glouton. Il trouvera une solution au probl\u00e8me, mais celle-ci ne sera pas forc\u00e9ment la meilleure.<\/strong><\/p>\n\n\n<section class=\"push \">\n        <div >\n            \n                                                <div class=\"push__container  qcd\" data-target=\"_self\" data-qcd=\"aHR0cHM6Ly9zaGVycGFzLmNvbS9mdW5uZWwtc3R1ZGVudC1xdWFsaWZpY2F0aW9u\" data-banner=\"2\" data-name=\"CPM1 Informatique-NSI\" style=\"background-color: #F3FBF7\" >\n                                                                        <div class=\"push__teachers\">\n    <div class=\"d-flex justify-content-center d-md-none\">\n        <img decoding=\"async\" class=\"push__logo\" src=\"\/content\/themes\/sherpas-theme\/dist\/images\/logo.svg\" alt=\"Logo Sherpas\">\n    <\/div>\n    <div class=\"swiper\">\n        <div class=\"swiper-wrapper\">\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Fabien2x.png);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Fabien<\/p>                          <p class=\"push__teachers-school\">T\u00e9l\u00e9com Paris<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">20\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Nicolas2x.png);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Nicolas<\/p>                          <p class=\"push__teachers-school\">CentraleSup\u00e9lec<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">17\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Louise2x.png);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Louise<\/p>                          <p class=\"push__teachers-school\">Mines ParisTech<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">24\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Fanny2x.jpg);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Fanny<\/p>                          <p class=\"push__teachers-school\">Ponts ParisTech<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">19\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                    <\/div>\n    <\/div>\n<\/div>\n                                                    <div class=\"push__content\">\n                                                            <div  class=\"d-none d-md-block\" >\n                                    <img decoding=\"async\" class=\"push__logo\" src=\"\/content\/themes\/sherpas-theme\/dist\/images\/logo.svg\"\n                                        alt=\"Logo Sherpas\">\n                                <\/div>\n                                                                                        <div class=\"push__title\"><p>Besoin d&rsquo;un <span style=\"color: #4cc583;\">prof particulier<\/span> d&rsquo;informatique ? <span role=\"image\" aria-label=\"\u2728\">\u2728<\/span><\/p>\n<\/div>\n                                                                                        <div class=\"push__text\"><p>Nos Sherpas sont l\u00e0 pour t&rsquo;aider \u00e0 progresser et prendre confiance en toi !<\/p>\n<\/div>\n                                                        <div class=\"push__promo-button   \">\n                                                                                                    <div\n                                        class=\"btn btn-primary\"\n                                        style=\"color: ; border-color: ; background-color: \"\n\n                                    >\n                                        JE PRENDS UN COURS OFFERT !\n                                    <\/div>\n                                                            <\/div>\n                                                    <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/section>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"exemple-dun-algorithme-glouton-le-rendu-de-monnaie\">Exemple d\u2019un algorithme glouton : le rendu de monnaie \ud83d\udcb8<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"explication-de-lexemple-du-rendu-de-monnaie\">Explication de l&rsquo;exemple du rendu de monnaie<\/h3>\n\n\n\n<p><strong>L\u2019exemple principal sur les algorithmes gloutons du programme se base sur une situation d\u2019achat d\u2019un produit en esp\u00e8ces (pi\u00e8ces et billets) et du rendu de monnaie. \ud83d\udcb0<\/strong><\/p>\n\n\n\n<p>Tu vas dans une boulangerie acheter un g\u00e2teau pour l\u2019anniversaire d\u2019un de tes parents. Soit X le prix de ce g\u00e2teau. Afin de le payer, tu disposes dans ton portefeuille de pi\u00e8ces et de billets de 1, 2, 5, 10, 20 et 50 euros. Tu souhaites toujours avoir un maximum de pi\u00e8ces et de billets sur toi, tu vas donc essayer de payer le g\u00e2teau avec le plus petit nombre de pi\u00e8ces et de billets. <\/p>\n\n\n\n<p><strong>Un algorithme glouton dans cette situation serait de : trouver la pi\u00e8ce ou le billet le plus grand qui soit inf\u00e9rieur au prix X, puis de r\u00e9p\u00e9ter l\u2019op\u00e9ration jusqu\u2019\u00e0 arriver \u00e0 0. <\/strong><\/p>\n\n\n\n<p>Par exemple, si le g\u00e2teau co\u00fbte 23\u20ac, l\u2019algorithme va chercher le plus grand billet inf\u00e9rieur \u00e0 23\u20ac : c\u2019est le billet de 20\u20ac. Il reste alors 3\u20ac. La pi\u00e8ce la plus grande, mais inf\u00e9rieure \u00e0 3\u20ac est la pi\u00e8ce de 2\u20ac. Il reste 1\u20ac. Tu paieras donc avec un billet de 20\u20ac, une pi\u00e8ce de 2\u20ac et une pi\u00e8ce de 1\u20ac.<br>\n&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"le-code-python-simplifie-de-lexemple-du-rendu-de-monnaie\"> Le code Python simplifi\u00e9 de l&rsquo;exemple du rendu de monnaie<\/h3>\n\n\n\n<p><strong>\ud83d\udc49 En python, on pourrait \u00e9crire cet algorithme avec la fonction renduMonnaie ci-dessous : <\/strong><br>\n<code><\/code><code>\n<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def renduMonnaie(prix: int) : \n\tportefeuille = &#091;50,20,10,5,2,1]  \n\ti = 0                             \n\ta_rendre = &#091;]             \n        k=0                        \n\t\n\twhile(prix&gt;0) :      \n\t\tif(portefeuille&#091;i]&gt;prix) :     \n\t\t\ti = i+1              \n\t\telse :                     \n\t\t\ta_rendre&#091;k] = portefeuille&#091;i] \n\t\t\tk = k+1                      \n\t\t\tprix = prix-portefeuille&#091;i]  \n\treturn a_rendre               \n<\/code><\/pre>\n\n\n\n<p><strong>Cette fonction prend en valeur d\u2019entr\u00e9e un entier (le prix) et renvoie en sortie un tableau d\u2019entiers comprenant les billets et pi\u00e8ces \u00e0 utiliser pour payer ce prix. <\/strong><\/p>\n\n\n\n<p>Le tableau \u00ab\u00a0portefeuille\u00a0\u00bb comprend les valeurs de nos pi\u00e8ces et billets. \u00ab\u00a0a_rendre\u00a0\u00bb sera le tableau renvoy\u00e9 en fin de fonction. Les variables \u00ab\u00a0i\u00a0\u00bb et \u00ab\u00a0k\u00a0\u00bb vont nous permettre d&rsquo;incr\u00e9menter la boucle While et de se d\u00e9placer dans \u00ab\u00a0a_rendre\u00a0\u00bb.<\/p>\n\n\n\n<p>La boucle \u00ab\u00a0While\u00a0\u00bb (tant que) marche tant que le prix est sup\u00e9rieur \u00e0 0. En effet, le prix est diminu\u00e9 \u00e0 chaque occurence de la boucle si le billet\/pi\u00e8ce (i-\u00e8me case de \u00ab\u00a0portefeuille\u00a0\u00bb) est inf\u00e9rieur au prix (le \u00ab\u00a0else\u00a0\u00bb). Dans ce cas, on ajoute le billet\/pi\u00e8ce \u00e0 \u00ab\u00a0a_rendre\u00a0\u00bb et on incr\u00e9mente \u00ab\u00a0k\u00a0\u00bb pour que le prochain billet\/pi\u00e8ce soit mis dans la case suivante du tableau.<\/p>\n\n\n\n<p>Sinon, si le billet\/pi\u00e8ce est sup\u00e9rieur au prix, on incr\u00e9mente \u00ab\u00a0i\u00a0\u00bb. Cela permet de changer le billet\/pi\u00e8ce \u00e0 comparer au prix. On rep\u00e8te ces op\u00e9rations tant que le prix est sup\u00e9rieur \u00e0 0. <\/p>\n\n\n\n<p><strong>Avec ce code simplifi\u00e9, on suppose que les prix pr\u00e9sent\u00e9s sont d\u00e9nombrables \u00e0 partir des pi\u00e8ces et billets de notre portefeuille.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"exercice-supplementaire-complexifie-lalgorithme\">Exercice suppl\u00e9mentaire : complexifie l\u2019algorithme ! \ud83e\udd2f<\/h3>\n\n\n\n<p><strong>\ud83d\udca1 Si tu te sens \u00e0 l\u2019aise avec la premi\u00e8re solution, je te conseille d\u2019essayer de complexifier l\u2019algorithme afin de jongler avec les notions de python, tout en conservant bien en t\u00eate l\u2019objectif de ton algorithme glouton sur ce probl\u00e8me de rendu de monnaie.<\/strong><\/p>\n\n\n<div class=\"wp-block-image size-medium\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/sherpas.com\/blog\/content\/uploads\/2021\/10\/giphy-314.gif\" alt=\"algorithme de glouton\" \/><figcaption class=\"wp-element-caption\">\u00c0 toi de coder !<\/figcaption><\/figure>\n<\/div>\n\n\n<p>Par exemple, tu pourrais <strong>changer la boucle While par une boucle For<\/strong>. Tu peux aussi ajouter de nouveaux billets et pi\u00e8ces. Si tu ne souhaites pas utiliser de centimes, tu pourrais essayer de trouver la <strong>meilleure approximation en utilisant des divisions euclidiennes<\/strong>. <\/p>\n\n\n\n<p>Enfin, tu pourrais instaurer un <strong>dialogue avec l\u2019utilisateur<\/strong> qui va renseigner \u00e0 la fois le prix du g\u00e2teau et le type de pi\u00e8ces qu\u2019il a dans son porte-monnaie. \ud83d\ude09<\/p>\n\n\n\n<p>Pour finir, une derni\u00e8re version un peu plus complexe consisterait en cr\u00e9ant un <strong>portefeuille sous forme de matrice<\/strong> de telle sorte qu\u2019il y ait un nombre limit\u00e9 de chaque valeur de pi\u00e8ces. &nbsp;<\/p>\n\n\n<section class=\"push \">\n        <div >\n            \n                                                <div class=\"push__container  qcd\" data-target=\"_self\" data-qcd=\"aHR0cHM6Ly9zaGVycGFzLmNvbS9mdW5uZWwtc3R1ZGVudC1xdWFsaWZpY2F0aW9u\" data-banner=\"2\" data-name=\"CPM2 Informatique-NSI\" style=\"background-color: #F3FBF7\" >\n                                                                        <div class=\"push__teachers\">\n    <div class=\"d-flex justify-content-center d-md-none\">\n        <img decoding=\"async\" class=\"push__logo\" src=\"\/content\/themes\/sherpas-theme\/dist\/images\/logo.svg\" alt=\"Logo Sherpas\">\n    <\/div>\n    <div class=\"swiper\">\n        <div class=\"swiper-wrapper\">\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Margot2x.png);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Margot<\/p>                          <p class=\"push__teachers-school\">Arts et M\u00e9tiers ParisTech<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">22\u20ac\/h\/h<\/p>                     <\/div>\n                <\/div>\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Bastien2x.jpg);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Bastien<\/p>                          <p class=\"push__teachers-school\">Polytechnique<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">26\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Hugo2x.jpg);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Hugo<\/p>                          <p class=\"push__teachers-school\">Insa Lyon<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">16\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                                            <div class=\"swiper-slide\">\n                    <div class=\"push__teachers-card\">\n                        <div\n                            class=\"push__teachers-profil\"\n                            \n                            style=\"background-image: url(https:\/\/sherpas.com\/content\/uploads\/2022\/01\/Thibault2x.png);\"\n                        >\n                    <\/div>\n                         <p class=\"push__teachers-name\">Thibault<\/p>                          <p class=\"push__teachers-school\">ENS Paris Ulm<\/p>                                                     <div class=\"push__teachers-note\">\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                                    <svg  class=\"active\" >\n                                        <use\n                                            xlink:href=\"\/content\/themes\/sherpas-theme\/dist\/images\/sprite.svg#star\"\/>\n                                    <\/svg>\n                                                            <\/div>\n                                                 <p class=\"push__teachers-price\">20\u20ac\/h<\/p>                     <\/div>\n                <\/div>\n                    <\/div>\n    <\/div>\n<\/div>\n                                                    <div class=\"push__content\">\n                                                            <div  class=\"d-none d-md-block\" >\n                                    <img decoding=\"async\" class=\"push__logo\" src=\"\/content\/themes\/sherpas-theme\/dist\/images\/logo.svg\"\n                                        alt=\"Logo Sherpas\">\n                                <\/div>\n                                                                                        <div class=\"push__title\"><p>Ton premier <span style=\"color: #4cc483;\">cours particulier<\/span> d&rsquo;informatique est <span style=\"color: #4cc483;\">offert<\/span> ! <span role=\"image\" aria-label=\"\ud83c\udf81\">\ud83c\udf81<\/span><\/p>\n<\/div>\n                                                                                        <div class=\"push__text\"><p>Tous nos profs sont pass\u00e9s par les meilleures \u00e9coles de France !<\/p>\n<\/div>\n                                                        <div class=\"push__promo-button   \">\n                                                                                                    <div\n                                        class=\"btn btn-primary\"\n                                        style=\"color: ; border-color: ; background-color: \"\n\n                                    >\n                                        J\u2019EN PROFITE !\n                                    <\/div>\n                                                            <\/div>\n                                                    <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/section>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algorithme-glouton-la-solution-optimale\">Algorithme glouton : la solution optimale ? \ud83e\udd29<\/h2>\n\n\n\n<p><strong>\ud83d\udc49 Comme d\u00e9j\u00e0 dit pr\u00e9c\u00e9demment, un algorithme glouton ne conduit pas toujours \u00e0 une solution optimale globale. Pour autant, par d\u00e9finition il cherche une succession d\u2019optimum locaux.<\/strong><\/p>\n\n\n\n<p>Et, dans beaucoup de probl\u00e8mes, un bon algorithme glouton trouvera la solution optimale. Mais ce n\u2019est pas forc\u00e9ment le cas ! <strong>L\u2019avantage r\u00e9side surtout dans les temps de calcul largement inf\u00e9rieurs, car les diff\u00e9rents cas ne sont pas test\u00e9s. <\/strong><\/p>\n\n\n\n<p>Pour s\u2019assurer de l\u2019optimisation d\u2019une solution, la complexit\u00e9 de l\u2019algorithme utilis\u00e9 sera plus grande. Pour cela, plusieurs solutions algorithmiques existent, tu en verras certaines si tu poursuis tes \u00e9tudes d\u2019informatique !<\/p>\n\n\n\n<p><strong>Pour aller plus loin, je vais t\u2019introduire \u00e0 un autre probl\u00e8me c\u00e9l\u00e8bre : le probl\u00e8me du sac \u00e0 dos.<\/strong> Consid\u00e8re un sac \u00e0 dos qui a une capacit\u00e9 de 20 kg. Et supposes que tu as 3 objets poss\u00e9dant chacun une masse et un prix.<\/p>\n\n\n\n<table id=\"tablepress-634\" class=\"tablepress tablepress-id-634\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Objet<\/th><th class=\"column-2\">A<\/th><th class=\"column-3\">B<\/th><th class=\"column-4\">C<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Masse (kg)<\/td><td class=\"column-2\">7<\/td><td class=\"column-3\">18<\/td><td class=\"column-4\">3<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Prix (Euros)<\/td><td class=\"column-2\">13<\/td><td class=\"column-3\">20<\/td><td class=\"column-4\">6<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n\n\n\n<p><strong>\ud83d\udc49 L\u2019objectif de ce probl\u00e8me est d\u2019avoir au final la plus grande valeur dans ton sac, sans que le poids des objets d\u00e9passe la capacit\u00e9 de ton sac.<\/strong> <\/p>\n\n\n\n<p><strong>\ud83d\udca1 Plusieurs strat\u00e9gies gloutonnes sont faisables<\/strong>, les plus communes sont : <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>prendre l\u2019objet avec la plus grande valeur n\u2019exc\u00e9dant pas la capacit\u00e9 restante<\/li>\n\n\n\n<li>prendre l\u2019objet avec la plus faible masse<\/li>\n\n\n\n<li>prendre l\u2019objet avec le plus grand rapport valeur\/masse n\u2019exc\u00e9dant pas la capacit\u00e9 restante<\/li>\n<\/ul>\n\n\n\n<p>Essaie d\u2019appliquer ces 3 strat\u00e9gies au probl\u00e8me et trouve la meilleure dans ce cas. Compare les \u00e0 la solution optimale (2 objets A et 2 objets C faisant un prix de 38 euros et 20kg soit pr\u00e9cis\u00e9ment la capacit\u00e9 du sac).<\/p>\n\n\n\n<p>Tu peux \u00e9videmment retravailler ce probl\u00e8me en changeant les valeurs de masse et de prix des objets. Tu trouveras facilement des variantes avec leurs solutions sur internet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion-sur-les-algorithmes-gloutons\">Conclusion sur les algorithmes gloutons \ud83d\udc40 <\/h2>\n\n\n\n<p><strong>Tu connais donc maintenant les avantages et inconv\u00e9nients des algorithmes gloutons. L\u2019exemple du rendu de monnaie est au <strong><a href=\"https:\/\/www.education.gouv.fr\/bo\/19\/Special8\/MENE1921247A.htm\" target=\"_blank\" rel=\"noopener\">programme de NSI<\/a><\/strong>, \u00e0 toi de bien prendre le temps de le comprendre. N\u2019h\u00e9site pas \u00e0 le recoder sur ta machine ! \ud83d\udcbb<\/strong><\/p>\n\n\n\n<p>Globalement, les algorithmes gloutons sont efficaces dans les probl\u00e8mes d\u2019ordonnancement. Par exemple, pour \u00e9valuer le chargement d\u2019un sac en y mettant le moins d\u2019objets. L\u2019optimisation de la solution n\u2019est pas garantie par les algorithmes gloutons.<\/p>\n\n\n\n<p><strong>\ud83d\udc49 Bref, qu\u2019on \u00e9tudie le chargement d\u2019un sac ou un rendu de monnaie, plusieurs solutions existent, et les strat\u00e9gies gloutonnes proposent des approximations qualitatives et rapides. <\/strong><\/p>\n\n\n\n<p><strong>Si tu souhaites trouver la solution optimale, l\u2019utilisation d\u2019un arbre de recherche sera n\u00e9cessaire !<\/strong><\/p>\n\n\n\n<p>A bient\u00f4t pour un nouvel article !<\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-center kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;center&quot;,&quot;id&quot;:&quot;189945&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;8&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;3.9&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Tu as aim\u00e9 cet article ?&quot;,&quot;legend&quot;:&quot;3.9\\\/5 - (8 votes)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;title&quot;:&quot;[NSI] Qu\u2019est ce qu\u2019un algorithme glouton ? \ud83d\ude0b&quot;,&quot;width&quot;:&quot;110.6&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 110.6px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            3.9\/5 - (8 votes)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Tu es curieux de savoir ce qu\u2019est un algorithme glouton ? Tu n\u2019as pas bien compris ton cours (&#8230;)<\/p>\n","protected":false},"author":326,"featured_media":166533,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"category":[803,813],"tag":[79,283],"class_list":["post-189945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apprendre-matiere","category-informatique-nsi","tag-lycee","tag-tech"],"acf":[],"_links":{"self":[{"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/posts\/189945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/users\/326"}],"replies":[{"embeddable":true,"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/comments?post=189945"}],"version-history":[{"count":0,"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/posts\/189945\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/media\/166533"}],"wp:attachment":[{"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/media?parent=189945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/category?post=189945"},{"taxonomy":"tag","embeddable":true,"href":"https:\/\/sherpas.com\/blog\/wp-json\/wp\/v2\/tag?post=189945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}