Vidéo: Week 5, continued 2024
Le raisonnement gourmand est souvent utilisé dans le cadre d'un processus d'optimisation. L'algorithme visualise le problème une étape à la fois et se concentre uniquement sur l'étape en cours. Chaque algorithme glouton fait deux hypothèses:
- Vous pouvez faire un seul choix optimal à une étape donnée.
- En choisissant la sélection optimale à chaque étape, vous pouvez trouver une solution optimale pour le problème global.
Vous pouvez trouver de nombreux algorithmes gourmands, chacun optimisé pour effectuer des tâches particulières. Voici quelques exemples courants d'algorithmes gloutons utilisés pour l'analyse de graphes et la compression de données et la raison pour laquelle vous pourriez vouloir les utiliser:
- Le Spanning Tree minimum (MST) de Kruskal: Cet algorithme démontre en fait l'un des principes des algorithmes gloutons auxquels les gens pourraient ne pas penser immédiatement. Dans ce cas, l'algorithme choisit l'arête entre deux nœuds avec la plus petite valeur, et non la plus grande valeur que le mot gourmand pourrait transmettre. Ce type d'algorithme peut vous aider à trouver le chemin le plus court entre deux emplacements sur une carte ou à effectuer d'autres tâches liées aux graphiques.
- MST de Prim: Cet algorithme divise un graphe non orienté (dont la direction n'est pas prise en compte) en deux. Il sélectionne ensuite le bord qui relie les deux moitiés de sorte que le poids total des deux moitiés soit le plus petit possible. Vous pourriez trouver cet algorithme utilisé dans un jeu de labyrinthe pour localiser la distance la plus courte entre le début et la fin du labyrinthe.
- Huffman Encoding: Cet algorithme est assez connu dans les ordinateurs car il constitue la base de nombreuses techniques de compression de données. L'algorithme attribue un code à chaque entrée de données unique dans un flux d'entrées, de sorte que l'entrée de données la plus couramment utilisée reçoit le code le plus court. Par exemple, la lettre E reçoit normalement le code le plus court lors de la compression du texte en anglais, car vous l'utilisez plus souvent que toute autre lettre de l'alphabet. En modifiant la technique de codage, vous pouvez compresser le texte et le réduire considérablement, réduisant ainsi le temps de transmission.