MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
46<br />
den, betrachtet. Zunächst jedoch geben wir noch einen Überblick über die Zusammensetzung eines<br />
Wegfindealgorithmus. Abschließend wird das Konzept und die Umsetzung des von uns gewählten<br />
Wegpunktalgorithmus behandelt.<br />
7.1 Struktur eines Wegfindealgorithmus<br />
Wegfindealgorithmen lassen sich meist grundlegend in eine Hierachie mit drei Ebenen gliedern<br />
[Sur02, S. 161–162]. Auf der ersten Ebene muss die virtuelle Welt abstrahiert und partitioniert werden.<br />
Rasterung, Wegpunktesystem und Navigationsgitter sind Beispiele hierfür, die wir im nächsten<br />
Abschnitt noch genauer erklären werden. Der entstehende Suchraum kann dann von einem Algorithmus<br />
durchlaufen werden, der in diesem Suchraum Knoten und Kanten definiert. Ein Knoten<br />
entspricht dabei einer Sektion bzw. einem Ort in der Welt, eine Kante gibt eine Verbindung zwischen<br />
diesen Knoten an. Eine Folge von Knoten und Kanten beschreibt dann einen Weg.<br />
Die zweite Ebene dient der Abschätzung der Güte eines Weges. Die Länge eines Weges kann auf<br />
einfache Weise durch die Anzahl seiner Kanten beschrieben werden, was aber bei ungleich langen<br />
Kanten eher wenig aussagekräftig ist. Meistens werden deshalb die einzelnen Kanten mit Kosten<br />
belegt. So können beispielsweise einer langen Kante höhere Kosten zugewiesen werden als einer<br />
kurzen, ebenso einer Kante, die einen ” steilen“ Wegabschnitt beschreibt gegenüber einer ” ebenen“<br />
Kante. Die Summe dieser Kosten beschreibt dann die Kosten des betrachteten Pfades. Die Pfadauswahl<br />
variiert also, je nachdem um was für eine Welt es sich handelt und was die Kriterien einer sich<br />
in ihr befindlichen Kreatur sind.<br />
Auf der dritten Ebene befindet sich der Suchalgorithmus selbst. Seine Aufgabe ist es, auf Anfrage<br />
den bestmöglichen Pfad von einer beliebigen Position (Knoten) zu einem beliebig definierten Ziel<br />
(Knoten) zu ermitteln. In der Künstlichen Intelligenz wird zu diesem Zweck meist der so genannte<br />
A*-Algorithmus [RN03, S. 97–104] benutzt, welcher unter Benutzung der vorliegenden Informationen<br />
einen optimalen Weg berechnet. Er tut dieses unter Berücksichtigung des bereits zurückgelegten<br />
Weges und einer Abschätzung des weiteren Weges zum Ziel (Luftlinienfunktion). Damit der Algorithmus<br />
arbeiten kann, muss diese Funktion unterschätzend sein, d.h. ihr Ergebnis muss immer<br />
geringer sein, als der tatsächlich noch zurückzulegende Weg. Wenn man bei der Wegewahl die Luftlinie<br />
des nächsten auszuwählenden Punktes zum Zielpunkt benutzt, so ist diese Bedingung erfüllt.<br />
Grundlegend gilt für den Suchalgorithmus, dass er möglichst wenig Rechenleistung der CPU in Anspruch<br />
nehmen soll.