13.11.2012 Aufrufe

Java Settlers - Intelligente agentenbasierte Spielsysteme für intuitive ...

Java Settlers - Intelligente agentenbasierte Spielsysteme für intuitive ...

Java Settlers - Intelligente agentenbasierte Spielsysteme für intuitive ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

28 Verwandte Arbeiten<br />

2.3.2 Der Agent<br />

„An agent is a computational system, situated in some environment, that is ca-<br />

pable of intelligent, autonomous action in order to meet its design objectives.“ –<br />

Nicholas Jennings (Intelligent Agents, 1995) [28]<br />

Wenn von dem Agent die Rede ist, wird meist das Verhalten eines Agentenprogramms betrach-<br />

tet, welches auf eine Anfrage eine Aktion berechnet. Dabei erhält der Agent die aktuelle Wahr-<br />

nehmung von Sensoren als Eingabe und gibt eine Aktion als Ausgabe aus. Eine sehr einfache<br />

Form eines Agenten wäre alle möglichen Eingabe-Ausgabe-Paare in eine Tabelle abzuspei-<br />

chern und die benötigte Aktion nachzuschlagen. Für die meisten relevanten Probleme ist dies<br />

aber nicht praktikabel, da der Speicherplatz <strong>für</strong> die Tabelle nicht realisierbar wäre und nicht<br />

immer alle Paare ermittelt werden können. Beim Schach zum Beispiel müssten bei 20 Züge pro<br />

Stellung, einer Halbzugtiefe von 16 und ohne Optimierungen ca. 600.000.000.000.000.000.000<br />

mögliche Varianten betrachtet werden.<br />

Ein etwas verbesserter, aber immer noch einfacher Agent, ist der Reflex-Agent. Diese Agenten<br />

bestimmen aufgrund der aktuellen Wahrnehmung und aus einer Menge einfacher Regeln eine<br />

durchzuführende Aktion [4]. Diese Agenten sind einfach und schnell, aber nur begrenzt intel-<br />

ligent, da sie weder die Vergangenheit noch die Zukunft in Betracht ziehen und sich nur lokal<br />

aufgrund einer kleinen Menge an Regeln entscheiden.<br />

Ein verbesserter Reflex-Agent führt einen internen Zustand mit sich. Der sogenannte Modell-<br />

basierte Reflex-Agent versucht also sich die Welt aufgrund der Wahrnehmungshistorie zu mo-<br />

dellieren und hat nun die Möglichkeit Entwicklungen und Auswirkungen auf das Modell zu<br />

übertragen und vom Modell basierend neue Aktionen zu ermitteln [4].<br />

Damit auch Auswirkungen auf die Zukunft in Erwägung gezogen werden, benötigt es Zielba-<br />

sierte Agenten, die zusätzlich noch Zielinformationen mit sich führen [4]. Damit ist es möglich,<br />

zielgerecht nach einer Aktion zu suchen, die den Agenten näher zum Ziel bringt.<br />

Um zwischen Zuständen vergleichen zu können, die sich auf dem Weg zum Ziel befinden, wird<br />

eine Leistungsbewertung benötigt, die den Nutzen ermittelt. Solche Nutzenbasierte Agenten<br />

können durch Heuristiken schneller zum Ziel gelangen [4]. Da<strong>für</strong> führen sie temporäre Aktio-<br />

nen auf ihrem internen Zustand aus, bewerten den neuen Zustand und ziehen die Aktion zurück.<br />

Somit können verschiedene Aktionsfolgen in Hinsicht auf die Leistungsbewertung simuliert<br />

werden und der beste ausgewählt werden. Zusätzlich können bei mehreren Zielen abgeschätzt<br />

werden, wie groß der Nutzen im Verhältnis zur Wahrscheinlichkeit ist oder bei in Konflikt ste-<br />

henden Zielen abgewogen werden, welcher geeigneter ist.<br />

Für <strong>Java</strong> <strong>Settlers</strong> soll ein Nutzenbasierter Agent entwickelt werden, der durch geeignete Heuris-<br />

tiken und einer Bewertungsfunktion das Ziel erreichen soll, das Spiel zu gewinnen. Dabei soll<br />

mit einer adversarialen Suche der bestmögliche Zug in einer vertretbaren Zeit ermittelt werden.<br />

Im Folgenden soll nun näher auf die Suche eingegangen werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!