Inhoudsopgave:
Definitie - Wat betekent Greedy Algorithm?
Een hebzuchtig algoritme is een algoritmische strategie die de beste optimale keuze maakt in elk klein stadium met het doel dat dit uiteindelijk leidt tot een wereldwijd optimale oplossing. Dit betekent dat het algoritme op dit moment de beste oplossing kiest zonder rekening te houden met de gevolgen. Het kiest de beste onmiddellijke uitvoer, maar houdt geen rekening met het grote geheel en wordt daarom als hebzuchtig beschouwd.
Techopedia verklaart Greedy Algorithm
Een hebzuchtig algoritme werkt door het best mogelijke antwoord in elke stap te kiezen en vervolgens door te gaan naar de volgende stap tot het einde, zonder rekening te houden met de algehele oplossing. Het hoopt alleen dat het pad dat het neemt, het wereldwijd optimale is, maar zoals bewezen keer op keer komt deze methode niet vaak met een wereldwijd optimale oplossing. Het is zelfs heel goed mogelijk dat de meest optimale kortetermijnoplossingen leiden tot de slechtst mogelijke wereldwijde uitkomst.
Zie het als het nemen van veel snelkoppelingen in een productiebedrijf: op de korte termijn worden grote hoeveelheden bespaard op productiekosten, maar dit leidt uiteindelijk tot ondergang omdat de kwaliteit in het gedrang komt, wat resulteert in productrendementen en lage verkopen als klanten kennis maken met de "Goedkoop" product. Maar dit is niet altijd het geval, er zijn veel toepassingen waarbij het hebzuchtige algoritme het beste werkt om de wereldwijd optimale oplossing te vinden of te benaderen, zoals bij het bouwen van een Huffman-boom of een boom voor het leren van beslissingen.
Bijvoorbeeld: Neem het pad met de grootste som in totaal. Een hebzuchtig algoritme zou het blauwe pad volgen, als gevolg van kortzichtigheid, in plaats van het oranje pad, dat de grootste som oplevert.
componenten:
- Een kandidaatset met gegevens die een oplossing nodig heeft
- Een selectiefunctie die de beste medewerker kiest voor de uiteindelijke oplossing
- Een haalbaarheidsfunctie die de selectiefunctie helpt door te bepalen of een kandidaat een bijdrage kan leveren aan de oplossing
- Een objectieve functie die een waarde toekent aan een gedeeltelijke oplossing
- Een oplossingsfunctie die aangeeft dat de optimale oplossing is ontdekt
