Aussi connu comme l'algorithme glouton algorithme glouton
Tout d'abord, le problème d'optimisation
Cet article décrit l'algorithme et des exemples sont derrière le « problème d'optimisation » . Chacun contient un ensemble de problèmes d'optimisation « conditions restreintes » et une « fonction d'optimisation » . Faites connaissance avec les contraintes du programme de résolution de problèmes appelé « solution réalisable » . La meilleure valeur possible de la fonction d'optimisation pour parvenir à une solution réalisable est appelée « solution optimale »
En second lieu, l'idée d'algorithme glouton
Dans l'algorithme glouton, nous avons besoin de construire progressivement une solution optimale . Chaque étape, nous sommes certains critères pour prendre une décision optimale. Chaque étape de la prise de décision, et non être modifiés dans une étape ultérieure. décisions standard sont basées que l' on appelle des lignes directrices de la cupidité
En troisième lieu, la pratique de la recherche de changement
description du problème
Les clients qui utilisent dollars pour acheter des bonbons vendeur espérant trouver un enfant de changer avec le nombre de pièces de monnaie. Supposons qu'il y ait une valeur nominale de 25 cents, 10 cents, 5 cents et pièces de 1 cent, mais le nombre ne se limite pas
Chaque fois que vous sélectionnez un assistant magasin de pièces, constituent à la recherche de changement. Le choix est basé sur des critères de cupidité: sans plus que le nombre total de pièces recherchent, chaque fois que la plus grande pièce possible d'entrevue de sélection , jusqu'à ce que le nombre total de pièces pour compenser le nombre total de equal're à la recherche de changement
Description du problème: en supposant queclients recherchent 67 cents
algorithme glouton pour résoudre l'étape
Supposons aux clients à la recherche de 67 cents:
Les deux premières étapes ont choisi deux 25 $ pièce (troisième étape ne peut être sélectionnée à 25 $, sinon le total à plus de 67 cents)
Étape 10 cent sélection de pièces
La quatrième étape de sélection 5 cent pièces de monnaie
La dernière étape est deux pièce de 1 cent
algorithme glouton nous donne un sentiment: ce Grattez changement lâche, ou du moins proche du nombre minimum de pièces
En quatrième lieu, l'application pratique de la planification de la machine
Analyse d'application
Il y a n nombre de tâches, la machine ne se limite pas à, le traitement des tâches sur la machine. Heure de début de chaque tâche est Si, tâche temps d'achèvement Fi, Si <Fi. [Si, Fi] est la tâche i période de traitement
La duplication des tâches: deux tâcheschevauchent i et j, si et seulement si la période de traitementchevauchent deux tâches. Par exemple période [1, 4] avec une période [2,4] chevauchement, et [1,4] ettemps [4,7] nechevauchent
Une tâche schéma d'allocation est réalisable: fait référence à deux périodes sans dédoublertâches assignées à la même machine,savoir chaque machine au plusseule tâche à tout traitement en temps
L' allocation optimale: il se réfère à l'utilisation de la machine avecplan de distribution minimale viable
La description réelle du problème
Supposons que n = 7 tâches, numérotées de a à g, le temps de traitement de celui-ci comme indiqué ci-dessous:
Description du problème: la machine nelimite pas, il devrait être affecté à cette tâche 7 sur le fonctionnement demachine, et le nombre total de machines est minime utilisé (temps non requis)
algorithme glouton pour résoudre l'étape
Directives Greed étapes: selon l'heure de début de la tâche, si les machines « anciens » sont disponibles, la tâche assignée. Dans le cas contraire, la tâche est assignée à une machine « nouvelle »
Les anciens moyens de la machine: qui a été utilisé
Les nouvelles machines: à nouveau la machine n'a pas été utilisé
L'heure de début et de fin de la tâche, le résultat final d'exécution illustré ci-dessous, toutes les tâches dans la mise en œuvre globale du processus, trois machines ont été utilisées
En cinquième lieu, l'application pratique du chemin le plus court
description du problème
Pour un réseau tel que représenté ci-dessous, la distance entre les deux numéros de figure représentent les noeuds
Maintenant , il y a une telle demande: du début à atteindre un certain point à un autre, chaque étape sur le chemin de joindre un ordre. Il suppose que le chemin actuel a atteintsommet q, mais n'a pas encore atteint la fin. Lorsque la demande d'une sélection de chemin: Sélectionnez un q récemment associé, et le sommet en cours est pas dans le chemin
algorithme glouton pour résoudre l'étape
En supposant que a atteint un pic à partir du sommet 1 5, avide algorithme solution est la suivante :
Étape 1. Sélectionnez 1-> 3 la longueur du trajet de 2
Étape 3 Sélectionnez> 2 la longueur du trajet de 2
La troisième étape est de sélectionner 4-> 2 longueur de trajet de 1
Etape quatrième sélection 2-> 5 de la route, une longueur de 5
Ainsi, une longueur totale de 10
Note (clé): Selon la description du problème et algorithme glouton, le choix final de la voie est10, mais pas le plus court chemin (pas optimale). Peut être réalisée, par exemple, 1-> 4-> 5 cette voie, une longueur totale de 6. Donc algorithme glouton est pas nécessairement la solution optimale
Six autres cas
Par exemple, l'algorithme d'arbre de Huffman ( https://blog.csdn.net/qq_41453285/article/details/103649092 ), en utilisant l' étape de pondération n-1 pour établir la longueur du trajet externe minimum d'un arbre binaire, chaque étape sera de deux arbres binaires combinés en un seul. algorithme glouton L'algorithme utilisé est: à partir de la composition est une arbre plus petit arbre binaire de poids disponible les deux arbres
Par exemple, les règles de planification de LPT ( https://blog.csdn.net/qq_41453285/article/details/103649089 aussi un algorithme gourmand). Il est utilisé pour les étapes de programme n n opérations. Tout d' abord, la durée du travail triée par le temps. La tâche suivante est assignée comme une machine alors chaque étape est. critère Greedy est basé sur: le calendrier actuel le plus court de temps. La nouvelle fin d' un travail programmé première machine ( à savoir, la première machine à vide). Notez que ce problème, l'algorithme glouton ne garantit pas la solution optimale
Sept autres appartiennent au concept de
Peut connaître à travers quelques - uns des problèmes ci - dessus, la règle gourmande ne garantit pas des solutions optimales (telles que le problème du plus court chemin ci - dessus), mais il est toujours proche de la solution optimale dans des circonstances normales. Ceci est une règle de base. Les résultats obtenus sont généralement proches de la solution optimale, cet algorithme est appelé « heuristiques »
Si entre heuristiques et la meilleure attaque il y a une relation limitée, nous nous appelons cette méthode heuristique a « capacité limitée »
Avoir un heuristiques défini des propriétés définies appelées « Approximation Algorithm »
Huit, l'application pratique de l'algorithme glouton