Ich weiß, dass A * ist besser als Dijkstra-Algorithmus, weil es heuristische Werte berücksichtigt, aber von A * und Jump Point Suche, die den effizientesten Algorithmus für die Suche nach dem kürzesten Weg ist in einer Umgebung mit Hindernissen? und was sind die Unterschiede?Pfadsuche Algorithmen: A * Vs Jump Point Suche
Antwort
Die Jump Point-Suche ist ein verbessertes A * basierend auf einigen Bedingungen in der Grafik. Wenn Sie also diese Bedingungen erfüllen (meist Kostengitternetz), ist JPS strikt besser als A * (gleiche Optimalität, beste Fälle können größenordnungsmäßig besser sein und schlimmer ist wahrscheinlich die gleiche Komplexität, aber mit eine etwas schlechtere Konstante) , aber wenn Sie die Bedingungen nicht erfüllen, können Sie es nicht verwenden.
Die Verbesserungen von JPS gegenüber A * ist grundsätzlich, wenn Sie ein Diagramm mit einer einheitlichen Kostenfunktion haben (es kostet dasselbe von A nach B und von B nach C, in die gleiche Richtung), können Sie überspringen einige Schritte in einigen Fällen und direkt von A nach C gehen, ohne Knoten in B zu erweitern.
JPS ist eine Beschneidungstechnik über A *, Sie entfernen Fälle, die Sie nicht bewerten müssen, weil Sie wissen, dass sie suboptimal sind . Sie wissen das wegen der gleichmäßigen Kosten-Netz-Bedingung.
Vom Konzept her entspricht dies der Verwendung von A * über ein ungleichmäßiges Gitter, wobei benachbarte Knoten darstellen, wie weit man in diese Richtung gehen kann, ohne auf ein Hindernis zu stoßen, mit den Kosten des durchgeführten Sprungs. Wenn Sie also 10 Knoten auf der rechten Seite gehen können, ohne auf ein Hindernis zu stoßen, können Sie dies auf einen einzelnen Knoten mit einem Aufwand von 10 * c reduzieren (oder direkt zu ihm springen), wobei c die (konstanten) Kosten von einem Knoten zu ein anderer auf der rechten Seite.
Das ursprüngliche Papier kann here.
- 1. Unexplored Knoten mit A * JPS (Jump Point Search)
- 2. Suche Ranking/Relevanz Algorithmen
- 3. BiDirectional Dijkstras und A * -Algorithmen
- 4. Jump Start Meine VS 2015 Community Erfahrung
- 5. OOP vs PP für Algorithmen
- 6. Algorithmen für Suchbaum vs. Baum
- 7. GPU vs CPU-Leistung für allgemeine Algorithmen
- 8. Pfadsuche: Ein Stern von A nach B nicht gleich lang wie von B nach A
- 9. Bidirektional A * (A-Stern) Suche
- 10. Seltsam! VS 2005 -Break Point wird nicht
- 11. Dynamische Pfadsuche in Excel-Import
- 12. Vollständigkeit von A * Suche
- 13. Minimax vs Alpha Beta Beschneiden Algorithmen
- 14. 'erklären -A x' vs 'erklären -A x =()'
- 15. Mit char * a [] vs char a [] []
- 16. Jump-Menü mit jquery
- 17. Floating-Point-Promotion: Stroustrup vs Compiler - wer hat Recht?
- 18. Algolia vs Solr Suche
- 19. Unterstützt die Manhattan-Pfadsuche diagonale Bewegungen?
- 20. (Num a) vs Integer Typinferenz
- 21. E/A-Abschlussanschluss vs. QueueUserApc?
- 22. .o-Dateien vs .a-Dateien
- 23. Git hinzufügen. vs git -a
- 24. JuMP mit dünn besetzten Matrizen?
- 25. Double Jump funktioniert nicht
- 26. Jump Links auf WordPress
- 27. Prevent Hash-Tag jump
- 28. String Ähnlichkeit Algorithmen
- 29. Was ist der nächste Nachbar von Cloudant Geospatial Point Suche
- 30. css show verstecken jump issue
Dank bestellt werden! es löst meine Frage bis zu einem gewissen Punkt –
@ Thilan.L Was vermisst du genau? Vielleicht kann ich meine Antwort aktualisieren, um Sie besser zu beantworten. – Leherenn
danke im voraus war es gelöst :) –