Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Algorithme glouton — Wikipédia
Algorithme glouton — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

Un algorithme glouton (greedy algorithm en anglais, parfois appelé aussi algorithme gourmand, ou goulu) est un algorithme qui suit le principe de réaliser, étape par étape, un choix optimum local, afin d'obtenir un résultat optimum global.

Par exemple, dans le problème du rendu de monnaie (donner une somme avec le moins possible de pièces), l'algorithme consistant à répéter le choix de la pièce de plus grande valeur qui ne dépasse pas la somme restante est un algorithme glouton. Dans les cas où l'algorithme ne fournit pas systématiquement la solution optimale, il est appelé une heuristique gloutonne. L'illustration ci-contre montre un cas où ce principe est mis en échec.

En partant du point A et en cherchant à monter selon la plus forte pente, un algorithme glouton trouvera le maximum local m, mais pas le maximum global M.

Description

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Exemples de problèmes résolus par cet algorithme

[modifier | modifier le code]

Décomposition d'un entier dans une base

[modifier | modifier le code]
Article détaillé : Base_(arithmétique)#Méthode_des_divisions_successives_par_les_puissances_de_la_base_(algorithme_glouton).

Pour obtenir les chiffres d'un entier naturel n {\displaystyle n} {\displaystyle n} en base b {\displaystyle b} {\displaystyle b} on peut chercher le nombre de fois que la plus grande puissance de b {\displaystyle b} {\displaystyle b} inférieure à n {\displaystyle n} {\displaystyle n} est contenue dans n {\displaystyle n} {\displaystyle n}, ce qui donne le premier chiffre, et recommencer avec le nombre obtenu en retranchant ces puissances.

Rendu de monnaie

[modifier | modifier le code]
Article détaillé : Problème du rendu de monnaie.

Suivant le système de pièces, l'algorithme glouton est optimal ou pas. Dans le système de pièces européen (en centimes : 1, 2, 5, 10, 20, 50, 100, 200), où l'algorithme glouton donne la somme suivante pour 37 : 20+10+5+2, on peut montrer que l'algorithme glouton donne toujours une solution optimale.

Dans le système de pièces (1, 3, 4), l'algorithme glouton n'est pas optimal, comme le montre l'exemple simple suivant. Il donne pour 6 : 4+1+1, alors que 3+3 est optimal.

L'algorithme du paragraphe précédent consiste en le cas particulier où le système de pièce est ( 1 , b , b 2 , … ) {\displaystyle (1,b,b^{2},\dots )} {\displaystyle (1,b,b^{2},\dots )}.

Arbre couvrant minimal

[modifier | modifier le code]

Le problème consiste, dans un graphe non orienté connexe et valué, à trouver un sous-ensemble d'arêtes, formant un arbre, incluant tous les sommets, tel que la somme des poids de chaque arête soit minimale.

Les algorithmes de Prim et de Kruskal sont tous deux des algorithmes gloutons. Le premier consiste à choisir arbitrairement un sommet et à faire croître un arbre à partir de ce sommet. Le second consiste à faire croître une forêt jusqu'à couverture complète. Chaque augmentation se fait de la manière la plus économique possible.

Voyageur de commerce

[modifier | modifier le code]
Article détaillé : Problème du voyageur de commerce.

Une heuristique gloutonne construit une seule solution, par une suite de décisions définitives sans retour arrière, parmi ces méthodes on cite le plus proche voisin, la plus proche insertion, la plus lointaine insertion et la meilleure insertion.

Dans la méthode du plus proche voisin, on part d'un sommet quelconque et à chacune des ( n − 1 ) {\displaystyle (n-1)} {\displaystyle (n-1)} itérations on relie le dernier sommet atteint au sommet le plus proche au sens coût, puis on relie finalement le dernier sommet au premier sommet choisi.

Dans les méthodes d'insertion, on part d'un cycle réduit à une boucle au départ, à chaque itération on choisit un sommet libre j {\displaystyle j} {\displaystyle j} puis on cherche la position d'insertion i {\displaystyle i} {\displaystyle i} et j {\displaystyle j} {\displaystyle j} de cycle qui minimise l'augmentation totale des coûts :

  • dans la plus lointaine insertion j {\displaystyle j} {\displaystyle j} est le sommet libre le plus loin du cycle au sens des coûts;
  • dans la plus proche insertion j {\displaystyle j} {\displaystyle j} est le plus proche du cycle;
  • enfin dans la meilleure insertion on teste tous les sommets j {\displaystyle j} {\displaystyle j} non encore insérés et on choisit celui qui donne la plus faible augmentation du coût.

Coloration de graphe

[modifier | modifier le code]

Par exemple, l'algorithme suivant propose une coloration qui sera valide, mais pas forcément optimale, et ce n'est donc qu'une heuristique. Le problème de coloration de graphe est NP-complet, et pour l'instant pour traiter le cas général, il n'existe que des heuristiques ou des approximations polynomiales, ou des algorithmes polynomiaux dans certains cas particuliers.

 Glouton :
    Entrée : liste ordonnée V des n sommets d'un graphe G
             liste ordonnée C de couleurs
    
    Pour i allant de 1 à n
      v = V[i]
      couleur = la première couleur de C non utilisée par les voisins de v
      colorier(v, couleur)
    Fin pour

Notes et références

[modifier | modifier le code]
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue ! Comment faire ?

Bibliographie

[modifier | modifier le code]

Voir aussi

[modifier | modifier le code]

Articles connexes

[modifier | modifier le code]
  • Algorithme glouton pour la décomposition en fractions égyptiennes
  • Algorithme de Kruskal
  • Algorithme de Prim
  • Algorithme de Dijkstra
  • Codage de Huffman
  • Problème du sac à dos
  • Problème du voyageur de commerce

Liens externes

[modifier | modifier le code]

  • Notices d'autoritéVoir et modifier les données sur Wikidata :
    • Pologne
  • Portage de l'algorithme de coloration en C
v · m
Informatique théorique
Codage
  • Codage de l'information
  • Compression de données
  • Chiffrement
  • Cryptanalyse
  • Cryptographie
  • Théorie de l'information
Modèles de calcul
  • Calculabilité
  • Décidabilité et indécidabilité
  • Ensemble récursif
  • Problème de l'arrêt
  • Ensemble récursivement énumérable
  • Machine de Turing
  • Thèse de Church
  • Automate cellulaire
  • Réseau de neurones artificiels
  • Réduction polynomiale
  • Problème NP-complet
  • Principe de Church-Turing-Deutsch
Algorithmique
  • Algorithmique
  • Algorithme glouton
  • Algorithme probabiliste
  • Algorithme génétique
  • Complexité algorithmique
  • Analyse d'algorithme
  • Diviser pour régner
  • Heuristique
  • Programmation dynamique
  • Géométrie algorithmique
  • Algorithmes de tri
  • Algorithmique du texte
  • Exploration de données
  • Science des données
  • Apprentissage profond
  • Test de primalité
  • Structure de données
  • Arbre enraciné
  • Concurrence
  • Parallélisme
Syntaxe
  • Réécriture
  • Compilation
  • Expression régulière
  • Grammaire formelle
  • Langage rationnel
  • Ensemble rationnel
  • Théorie des langages
  • Théorie des automates
  • Automate fini
  • Automate sur les mots infinis
  • Automate d'arbres
  • Automate à pile
  • Hiérarchie de Chomsky
  • Linguistique informatique
Sémantique
  • Interprétation abstraite
  • Méthodes formelles
  • Vérification de modèles
  • Sémantique des langages de programmation
  • Sémantique dénotationnelle
  • Sémantique axiomatique
  • Sémantique opérationnelle
Logique mathématique
  • Assistant de preuve
  • Calcul des prédicats
  • Correspondance de Curry-Howard
  • Fonction récursive
  • Lambda-calcul
  • Théorèmes d'incomplétude de Gödel
  • Théorie des types
Mathématiques discrètes
  • Combinatoire
  • Algorithme du simplexe
  • Optimisation combinatoire
  • Théorie des graphes
  • Algorithmes de la théorie des graphes
  • Recherche opérationnelle
  • Théorie de la décision
  • Analyse numérique
v · m
Optimisation: théorie et algorithmes
Non linéaire
  • Méthode du nombre d'or
  • Recherche linéaire
  • Méthode de Nelder-Mead
  • Critères de Wolfe
  • Méthode de Broyden-Fletcher-Goldfarb-Shanno
  • Algorithme à régions de confiance
  • Pénalisation
  • Algorithme du gradient
  • Algorithme du gradient stochastique
  • Méthode de Newton
  • Algorithme de Gauss-Newton
  • Algorithme de Levenberg-Marquardt
  • Algorithme du lagrangien augmenté
Convexe
  • Optimisation complètement positive
  • Optimisation copositive
  • Optimisation SDP
  • Méthode des plans sécants
  • Algorithme de Frank-Wolfe
  • Méthode de l'ellipsoïde
Linéaire
  • Optimisation conique
  • Algorithme du simplexe
  • Méthodes de points intérieurs
  • Décomposition de Benders
  • Génération de colonnes
Quadratique
  • Optimisation quadratique successive
Combinatoire
  • Algorithme d'approximation
  • Programmation dynamique
  • Algorithme glouton
  • Optimisation linéaire en nombres entiers
Métaheuristique
  • Stratégie d'évolution
    • Algorithme génétique
  • Essaims
  • Forêts aléatoires
  • Boosting
  • icône décorative Portail de l'informatique théorique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Algorithme_glouton&oldid=230924631 ».
Catégorie :
  • Algorithme d'optimisation
Catégories cachées :
  • Article avec une section vide ou incomplète
  • Page utilisant un modèle Bases inactif
  • Article utilisant le modèle Dictionnaires inactif
  • Article de Wikipédia avec notice d'autorité
  • Portail:Informatique théorique/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Mathématiques/Articles liés
  • Portail:Sciences/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id