01.02.2013 Aufrufe

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!