Ich entwickle ein GPS-System und dazu möchte ich den A * -Algorithmus verwenden. Ich habe ein Diagramm, wo der Eckpunkt die Quelle/das Ziel und die Kanten die Straßen sind. Dafür habe ich eine Datenbank mit folgenden Informationen:Heuristik für ein A * Pfad Finden von GPS
id;"Street Name";source;target;GeoCoordinateX1;GeoCoordinateY1;GeoCoordinateX2;GeoCoordinateY2
Jede dieser Zeilen repräsentiert eine Kante. Unter Verwendung der Koordinaten wird das Ziel verwendet, einen Wegsuchalgorithmus den kürzesten und schnellsten Weg zu erhalten. Ich habe bereits den djikstra Algorithmus entwickelt, aber jetzt versuche ich eine wirklich gute Heuristik zu finden.
Ich würde gerne wissen, ob es eine Heuristik gibt, die genauer oder effizienter ist. Ich habe gelesen, dass ich Manhattan, Euklidische oder Diagonale Entfernung benutzen könnte. Ich denke, Euclidian wäre eine gute Wahl, aber dann wären die Kosten für die g-Funktion nicht die gleichen wie für die heuristische Funktion h. Ich würde den kürzesten Weg nehmen, aber es würde länger dauern. Gibt es einen Weg, das Gute und den Profit zu bekommen?
Mit freundlichen Grüßen
Sie entwickeln weder ein GPS-System (wahrscheinlich eine GPS-App oder ein Tracking- oder Navigationssystem), noch möchten Sie GPS finden. Wahrscheinlich möchten Sie eine "geografische Koordinate", die GPS empfangen hat, mit einem Straßendiagramm vergleichen und dann einen kürzesten Weg vom Punkt zum Zielpunkt (Graphelement) usw. berechnen. Sie sollten besser ausdrücken, was Sie wollen. Vor allem zwischen dem zweiten und dritten Satz fehlen viele Informationen. Sie können jedem Link die geografische Länge im Voraus zuweisen und diese als Abstandsmaß verwenden. Keine Notwendigkeit für Manhattan (nutzlos). – AlexWien
Danke für das Update. Kürzeste Pfadalgorithmen verwenden eine Kostenfunktion für jede Straße (Knoten/oder Verknüpfung in der Grafik). Ihre Frage ist, welche Metrik als Kosten verwendet werden soll? Manhattan Entfernung, euklidische Entfernung (funktioniert nicht gut, da es geographische Entfernung ist). (Navigationssysteme verwenden die durchschnittliche Anzahl von Sekunden, die benötigt werden, um als Kosten durch die Straße zu fahren) – AlexWien