www.wikidata.de-de.nina.az
Pathfinding bzw Wegfindung ist in der Informatik die algorithmengestutzte Suche nach dem oder den optimalen Wegen englisch path Pfad von einem gegebenen Startpunkt zu einem oder mehreren Zielpunkten Die Einsatzgebiete reichen von Netzwerk Flussanalyse uber Routenplanung bis zu Computerspielen Inhaltsverzeichnis 1 Aufgabenspektrum 2 Algorithmen 3 Anwendungsbeispiele 4 Siehe auch 5 EinzelnachweiseAufgabenspektrum Bearbeiten nbsp grun Startfeldrot Wegblau Zielfeldgrau HindernisIn vielen aber nicht notwendigerweise in allen Fallen ist die Suche nach dem optimalen Weg zwischen zwei Punkten auch die Suche nach der kostengunstigsten oder kurzesten Route mit den wenigsten Hindernissen Dabei handelt es sich zwar um das klassische Lernbeispiel aber die richtige Antwort auf ein Pathfinding Problem ist in der Praxis nur selten auch wirklich die Luftlinie zwischen einem gegebenen Start und einem gegebenen Zielpunkt Die Suche wird haufig durch andere Faktoren mitbestimmt die den Begriff des Optimums verzerren und dadurch andere Routen sinnvoller erscheinen lassen wie z B nicht oder nur bedingt passierbare Hindernisse die den direkten Weg versperren variable Kosten in der Fortbewegung z B fur erhohten Energieverbrauch gegen Stromung mehrdimensionale Kostenmodelle in der Fortbewegung z B Zeit vs Energie vs Gefahren die Rasterung bzw Diskretisierung der Umwelt ahnlich einem Schach oder Spielfeld die Notwendigkeit auf der Route bestimmte Zwischenpunkte zu passieren oder gunstige Abbruchmoglichkeiten fur die Route offenzulassen nichtkartesische KoordinatenAlgorithmen Bearbeiten Hauptartikel Kurzester Pfad Um den Anforderungen an Pathfinding je nach Kontext zu entsprechen wurde in der Vergangenheit eine Vielzahl von Algorithmen entwickelt von denen fast alle ihre speziellen Vor und Nachteile haben Eine weit verbreitete Pathfinding Methode ist der A Algorithmus bei dem die Umgebung als Karte als Graph interpretiert wird und zur Berechnung Heuristiken verwendet werden Zuerst mussen Start und Zielknoten festgelegt werden Danach erhalt jedes Feld vom Startpunkt aus einen Wert der proportional zur Entfernung ansteigt Der optimale Weg ist derjenige bei dem das Zielfeld den geringsten Wert erhalt Hindernisse die zwar zu bewaltigen sind aber einen Zeitverlust aufbringen konnen dadurch leicht berucksichtigt werden Ein Beispiel dafur ware ein Sumpf bei dem der Wert pro Feld beispielsweise 2 statt 1 ansteigt und deshalb moglicherweise ein schnellerer aber langerer Weg aussen herum existiert Hat man keine Heuristik um die Kosten zwischen Knoten abzuschatzen kann man statt des A Algorithmus den Algorithmus von Dijkstra verwenden Um alle kurzesten Pfade von einem Knoten zu allen anderen Knoten auch in einem Graphen mit negativen Kantengewichten berechnen zu konnen kann der Bellman Ford Algorithmus verwendet werden Sucht man nicht nur die gunstigsten Pfade eines Knotens zu allen anderen Knoten im Graph sondern die gunstigsten Pfade zwischen allen Knotenpaaren so kann man den Min Plus Matrixmultiplikations Algorithmus oder den Algorithmus von Floyd und Warshall verwenden Anwendungsbeispiele BearbeitenIm Computerspiele Bereich reicht die Historie des Pathfindings von Spiele Klassikern wie Pac Man bis in die Gegenwart Wahrend bei Pac Man z B einfache Pathfinding Algorithmen dafur sorgten dass sich Gespenster als Computergegner durch ein virtuelles Labyrinth bewegten dienen sie heute in Echtzeit Strategiespielen der Routenplanung ganzer Militarverbande und in Ego Shootern der ausgefeilten Orientierung computergesteuerter Bot Gegner Echtzeit Strategiespiele basieren in der Regel auf zweidimensionalen Karten die in einzelne Kacheln unterteilt sind Besondere Schwierigkeiten ergeben sich z B bei Wegen die dynamisch versperrt werden etwa wenn mehrere Einheiten gleichzeitig eine enge Passage durchqueren In Ego Shootern bei deren Karten die dritte Dimension eine wichtigere Rolle spielt wird haufig mit Wegpunkten gearbeitet an denen sich die Kunstliche Intelligenz orientiert Fast immer ist gutes Pathfinding auch mit hoher Komplexitat verbunden Im Computerspiel Age of Empires II z B nahm allein das Pathfinding auf damals handelsublicher Hardware 60 bis 70 Prozent der gesamten CPU Leistung wahrend des Spielens in Anspruch 1 Entsprechend grosse Anstrengungen werden unternommen um Pathfinding Algorithmen zu optimieren Die Losungskonzepte reichen von Vorberechnungen d h Reduzierung der Laufzeit auf Kosten von Speicherbedarf bis hin zu vorteilhaften Annahmen die ein Programm bzgl seines konkreten Anwendungsfalls bereits im Vorfeld treffen kann z B zwischen A und B liegt eine unuberwindbare Schlucht uber die nur eine einzige Brucke fuhrt also wird die Route zwangslaufig dort entlang fuhren und nicht woanders 2 Verschiedene Algorithmen sind in der freien Python Bibliothek NetworkX implementiert 3 Siehe auch BearbeitenRouteEinzelnachweise Bearbeiten Gamasutra Dave C Pottinger 2000 Terrain Analysis in Realtime Strategy Games Memento vom 21 Dezember 2008 imInternet Archive MS Word 980 kB 3dpathfinding homeunix org Memento vom 7 Juni 2007 im Internet Archive Vorlage Webarchiv Wartung Linktext fehlt Linktext fehlt Technische Universitat Munchen Daniel Kastenholz 2006 3D Pathfinding Algorithms Shortest Paths In NetworkX 2 2 documentation Abgerufen am 24 Oktober 2018 englisch Abgerufen von https de wikipedia org w index php title Pathfinding amp oldid 236821800