A*-algoritme: verschil tussen versies

4 bytes verwijderd ,  10 jaar geleden
k
Wanneer men een [[Breedte-eerst zoeken|breedte-eerst]]-algoritme uitvoert, zoals [[kortstepadalgoritme|Dijkstra's algoritme]], zou men eerst alle punten afzoeken binnen een vaste straal van het begin, en zo stap voor stap de cirkel uitbreiden naar verdergelegen kruispunten. Dit kan een efficiënte strategie zijn wanneer je niet weet waar de bestemming zich bevindt.
 
Deze zoekmethode is echter tijdsverlies wanneer je meer [[informatie]] hebt. Een betere [[strategie]] bestaat erin eerst het kruispunt direct ten noorden van je huidige [[locatie]] te gaan bezoeken, omdat dit kruispunt immers dichter bij punt B zal liggen. Wanneer de wegen goed liggen kan je zo verder kruispunten afzoeken die steeds dichter bij de bestemming B liggen. Af en toe kan men even op zijn stappen moeten terugkomen, maar op typische kaarten is dit een snelle strategie. Bovendien kan bewezen worden dat deze strategie de best mogelijke route zal vinden, net als een breedte-eerst-zoektocht. Dit principe vormt de essentie van het A*-algoritme.
 
Er is echter geen enkele [[garantie]] dat het A*-algoritme beter presteert dan een eenvoudiger zoekalgoritme. In een omgeving die op een [[doolhof]] lijkt, kan bijvoorbeeld de enige weg naar de bestemming zo liggen dat men eerst een stuk zuidwaarts moet gaan eer men een bocht naar het noorden maakt. In dit geval zal het verkennen van de knopen in het noorden, die op de kaart dichter bij de bestemming liggen, aanvankelijk wat tijd kosten.
144.863

bewerkingen