In een hebzuchtig algoritme maken we de keuze die op dit moment het beste lijkt in de hoop dat dit zal leiden tot een wereldwijde optimale oplossing. Bij dynamisch programmeren nemen we bij elke stap een beslissing, rekening houdend met het huidige probleem en de oplossing voor het eerder opgeloste subprobleem om de optimale oplossing te berekenen.
Hoeveel haalbare oplossingen zijn er in de hebzuchtige methode?
Een hebzuchtig algoritme maakt bij elke stap hebzuchtige keuzes om ervoor te zorgen dat de doelfunctie wordt geoptimaliseerd. Het Greedy-algoritme heeft slechts one shot om de optimale oplossing te berekenen, zodat het nooit teruggaat en de beslissing ongedaan maakt.
Wat is het concept van hebzuchtige methode?
Definitie: Een algoritme dat altijd de beste onmiddellijke of lokale oplossing kiest terwijl het een antwoord vindt. Hebzuchtige algoritmen vinden de algehele, of globaal, optimale oplossing voor sommige optimalisatieproblemen, maar kunnen minder dan optimale oplossingen vinden voor sommige gevallen van andere problemen.
Wat zijn de voordelen van een hebzuchtige aanpak?
Het voordeel van het gebruik van een hebzuchtig algoritme is dat oplossingen voor kleinere gevallen van het probleem eenvoudig en gemakkelijk te begrijpen kunnen zijn. Het nadeel is dat het heel goed mogelijk is dat de meest optimale kortetermijnoplossingen leiden tot het slechtst mogelijke resultaat op de lange termijn.
Wanneer moeten we hebzuchtig gebruiken?
Hieronder worden enkele problemen genoemd die de optimale oplossing gebruiken met behulp van de Greedy-benadering
- Probleem met reizende verkopers.
- Kruskal's Minimal Spanning Tree-algoritme.
- Dijkstra's Minimal Spanning Tree Algoritme.
- Knapzakprobleem.
- Probleem met taakplanning.