Najszybsza implementacja A * na wielu platformach?
Przy tak wielu dostępnych implementacjach, co jest najszybszym wykonaniem (najmniej obciążającym CPU, najmniejszym binarnym), międzyplatformowym (Linux, Mac, Windows, iPhone) implementacją A * dla C ++ przy użyciu małej siatki?
Wdrożenia
Google zwraca:
http://www.heyes-jones.com/astar.html (Większość linków na tej stronie jest martwa).http://www.grinninglizard.com/MicroPather (Powiedział, że jest wolniejszy niż Heyes-Jones ”.)http://www.ceng.metu.edu.tr/~cuneyt/codes.html (Ogólny kod C ++.)http://swampthingtom.blogspot.com/2007/07/pathfinding-sample-using.htmlhttp://opensteer.sourceforge.net/ (Interesujące dla gier, nie A *.)Przepełnienie stosu w algorytmie DijkstryKtoś jeszcze?
Koło
Pytanie, zgodnie z zapytaniem, dotyczy ponownego użycia (podłącz do gry), a nie ponownego wymyślania (przynajmniej do czasu, gdy okazuje się, że wydajność jest problemem). Może się okazać, że implementacja Dijkstra (lub ogólny algorytm odnajdywania ścieżek) jest lepiej dopasowana lub że najszybsze implementacje nie są wystarczająco szybkie. Doceniam sugestie alternatywnych algorytmów, jednak pytanie nie brzmi: „Czy powinienem rzucić własnym A *?”
Joel o oprogramowaniu - syndrom niewymieniony tutajCoding Horror: Nie odkrywaj ponownie kołaPokonanie syndromu „Nie wymyślono tutaj”