1 / 23

Pathfinding

Pathfinding. Universität zu Köln Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Wintersemester 2011/2012 Dozent : Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz (cweitz0@smail.uni-koeln.de). Was ist Pathfinding ?. Finden einer Route, die

anthea
Télécharger la présentation

Pathfinding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pathfinding Universität zu Köln Softwaretechnologie II (Teil 1): Simulation und 3D Programmierung Wintersemester 2011/2012 Dozent: Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz (cweitz0@smail.uni-koeln.de)

  2. Was ist Pathfinding? • Finden einer Route, die • am kürzesten/schnellsten • sinnvoll ist • Beispiele für Einsatzgebiete • 3D-Simulationen, Computerspiele • Verkehrsplanung • Routing von Paketen im Internet

  3. Inhaltlicher Überblick • Was ist Pathfinding? • Graphen • Dijkstra-Algorithmus • A*-Algorithmus

  4. Graphen • Für Pathfinding benötigt: Nicht-negativer, gewichteter und gerichteter Graph, der das Problem modelliert.

  5. Beispiel TES 5: Skyrim

  6. Allgemeiner Graph

  7. Nicht-negativer gewichteter Graph

  8. Nicht-negativer gewichteter und gerichteter Graph

  9. Dijkstra-Algorithmus • Entwickelt um kürzeste Route durch alle Punkte zu finden • Iteriert über die Knoten eines Graphen • Für Punkt-zu-Punkt-Pathfinding zu aufwändig => Abbruchbedingung: Zielknoten ist hat kleinste Kosten aller nicht besuchten Knoten

  10. Dijkstra-Algorithmus

  11. Dijkstra-Algorithmus

  12. Dijkstra-Algorithmus

  13. Dijkstra-Algorithmus

  14. Dijkstra-Algorithmus

  15. Dijkstra-Algorithmus Schwächen: • willkürlich • dadurch unnötig viel fill

  16. A*-Algorithmus • Grundidee wie Dijkstra-Algorithmus • Nutzt Heuristiken um Abstand zum Ziel zu schätzen • Dadurch im Regelfall schneller als Dijkstra für das gegebene Problem • Abbruchbedingung: Zielknoten hat niedrigste Schätzkosten der offenen Knoten, bzw. Zielknoten ist auf Liste der offenen Knoten

  17. A*-Algorithmus

  18. A*-Algorithmus

  19. A*-Algorithmus

  20. Dijkstra und A* im Vergleich Dijkstra A* Bildnachweis: http://en.wikipedia.org/wiki/File:Dijkstras_progress_animation.gif http://en.wikipedia.org/wiki/File:Astar_progress_animation.gif

  21. Dijkstra und A* im Vergleich Dijkstra A* Bildnachweis: http://en.wikipedia.org/wiki/File:Dijkstras_progress_animation.gif http://en.wikipedia.org/wiki/File:Astar_progress_animation.gif

  22. Dijkstra und A* im Vergleich Dijkstra A* Bildnachweis: http://en.wikipedia.org/wiki/File:Dijkstras_progress_animation.gif http://en.wikipedia.org/wiki/File:Astar_progress_animation.gif

  23. Vielen Dank!

More Related