google „algorytm A * na siatki nawigacji” tylko dostać niewłaściwych sposobów szacowania wartości G, jak toBiorąc pod uwagę początek i cel, jak znaleźć najkrótszą drogę w siatce nawigacji?
sumując długość niebieski odcinki linii, otrzymujemy wartość g, ale jest ona zawyżona (wartość g powinna być niedoceniana). Ten algorytm zwróci zoptymalizowaną ścieżkę, ale nie gwarantuje, że jest najkrótszy.
Jedyny sposób, jaki mogę wymyślić, to narysować wykres widoczności oparty na siatce nawigacji. Ale kosztowałoby to za dużo pamięci.
Czy są jakieś inne sposoby, aby obliczyć najkrótszą drogę w nawigacji siatki?
Sądzę, że powinieneś przestudiować algorytm A *, bardziej szczegółowo, jakie są jego założenia i jakie gwarancje oferuje. Dzięki temu będziesz mógł zadawać więcej istotnych pytań. Na przykład w pytaniu brakuje precyzyjnej definicji tego, co * my * uważasz za błędne w odniesieniu do wyniku A *. –
@UlrichEckhardt A * ma rację, ale nie mogę zastosować algorytm * do siatki wykres nawigacyjny bezpośrednio .A * potrzebuje typowy wykres z węzłów i krawędzi, dzięki czemu można go stosować Dijkstra-jak wyszukiwanie, aby dowiedzieć się najkrótszą drogę .Przy wyszukiwanie jest zakończone, żadna ścieżka nie może być krótsza niż ścieżka, którą teraz zwrócono. Ale siatka nawigacyjna nie jest wykresem zawierającym tylko węzły i krawędzie, składa się z łatwych do przejechania obszarów, więc szukałem w Google sposobu, w jaki mogę zastosować A * w siatce nawigacji. – iouvxz
Artykuły te uznają, Zig Zag ścieżki przechodzi centroidów lub Zig Zag ścieżek przechodząc przez wszystkie krawędzie wszystkich wielokątów środkowym punkcie jako wartość G .Ale to się dzieje, tego rodzaju g wartości przecenienia odległość od punkt początkowy do bieżącego wielokąta (lub krawędzi). Kiedy wyszukiwanie zostanie zakończone, wszystkie niezaznaczone ścieżki są zawyżone i porzucone. – iouvxz