Das Erlernen von Spielverhalten anhand des "Reinforcement Learning" bei Videospielen


Diplomarbeit, 2007

107 Seiten, Note: 1.0


Leseprobe


Inhaltsverzeichnis
1 Einleitung
1
1.1 KI Forschung anhand von Videospielen . . . . . . . . . . . . .
1
1.2 Thema der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.3 Warum Reinforcement Learning? . . . . . . . . . . . . . . . .
2
1.4 Ergebnisse der Arbeit . . . . . . . . . . . . . . . . . . . . . . .
3
1.5 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Verwandte Arbeiten
5
2.1 Evolutionäres Lernen im Spiel Quake3 . . . . . . . . . . . . .
5
2.2 Regelbasiertes System im Spiel Quake2 . . . . . . . . . . . . .
6
2.3 Navigational Behaviors im Spiel Half-Life . . . . . . . . . . . .
6
2.4 Support Vector Machines in Warcraft3 . . . . . . . . . . . . .
6
3 Reinforcement Learning
9
3.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3.2 Geschichte des Reinforcement Learnings . . . . . . . . . . . . 10
3.3 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1 Softwarekomponenten . . . . . . . . . . . . . . . . . . 10
3.3.2 Evaluative Feedback . . . . . . . . . . . . . . . . . . . 16
3.3.3 Exploration vs. Exploitation . . . . . . . . . . . . . . . 17
3.3.4 Nicht-stationäre Probleme . . . . . . . . . . . . . . . . 18
3.3.5 Periodische und kontinuierliche Aufgaben . . . . . . . . 18
3.3.6 Discounting . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.7 Markoveigenschaft . . . . . . . . . . . . . . . . . . . . 20
3.3.8 Backup-Diagramme . . . . . . . . . . . . . . . . . . . . 22
3.3.9 Bellmangleichung . . . . . . . . . . . . . . . . . . . . . 22
3.4 Elementare Funktionen . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Dynamic Programming . . . . . . . . . . . . . . . . . . 27
3.4.2 Monte-Carlo . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.3 Temporal Dierence Learning . . . . . . . . . . . . . . 36
V

INHALTSVERZEICHNIS
4 Entwicklung des Softwareagenten
47
4.1 Lernumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2 Clientbot-API . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4 Aufbau des Quakebots . . . . . . . . . . . . . . . . . . . . . . 51
4.5 Elemente des Reinforcement Learnings . . . . . . . . . . . . . 54
4.5.1 Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5.2 Zustände und Aktionen . . . . . . . . . . . . . . . . . . 56
4.5.3 Belohnungsfunktion . . . . . . . . . . . . . . . . . . . . 66
4.6 Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.7 Softwaredesign . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.7.1 Entwurfsmuster . . . . . . . . . . . . . . . . . . . . . . 68
5 Experimente und Auswertungen
71
5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.1.1 Design of Experiments . . . . . . . . . . . . . . . . . . 72
5.1.2 Vermeidung von Störfaktoren . . . . . . . . . . . . . . 73
5.2 Auswahl der Experimente . . . . . . . . . . . . . . . . . . . . 77
5.3 Durchführung der Experimente . . . . . . . . . . . . . . . . . 79
5.4 Analyse der Experimente . . . . . . . . . . . . . . . . . . . . . 79
5.4.1 Abhängige Variable . . . . . . . . . . . . . . . . . . . . 79
5.4.2 Darstellung der Ergebnisse . . . . . . . . . . . . . . . . 79
5.4.3 Merkmale der Ergebnisse . . . . . . . . . . . . . . . . . 81
5.4.4 Experiment mit Standardeinstellung . . . . . . . . . . 82
5.4.5 Variieren der Schrittgröÿe . . . . . . . . . . . . . . . . 82
5.4.6 Variieren des Diskontierungfaktors . . . . . . . . . . . 85
5.4.7 Variieren des Straaktors . . . . . . . . . . . . . . . . . 88
5.4.8 Variieren des No-Hit Penaltys . . . . . . . . . . . . . . 90
5.5 Wissen des Agenten . . . . . . . . . . . . . . . . . . . . . . . . 92
5.5.1 Der beste Zustand . . . . . . . . . . . . . . . . . . . . 92
5.5.2 Die meist besuchten Zustände . . . . . . . . . . . . . . 93
5.5.3 Zustandsübergänge . . . . . . . . . . . . . . . . . . . . 96
5.6 Co-Reinforcement Learning . . . . . . . . . . . . . . . . . . . 97
6 Fazit
101
Literatur
106
VI

Abbildungsverzeichnis
3.3.1 Interaktion zwischen Agent und Umwelt (SB98, Seite 52) . . . 11
3.3.2Beispiel: Balancieren . . . . . . . . . . . . . . . . . . . . . . . 2 0
3.3.3 Backup-Diagramm: Zustands-Wertefunktion . . . . . . . . . . 2 3
3.3.4 Backup-Diagramm: Aktions-Wertefunktion . . . . . . . . . . . 2 5
3.3.5 Backup-Diagramm: optimale Wertefunktion . . . . . . . . . . 2 6
3.4.1 Policy Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4.2Backup-Diagramm: Monte-Carlo . . . . . . . . . . . . . . . . . 34
3.4.3 Generalized Policy Iteration: MC . . . . . . . . . . . . . . . . 35
3.4.4 Backup-Diagramm: Temporal Dierence . . . . . . . . . . . . 38
3.4.5 Beispiel: Zeitschätzung MC . . . . . . . . . . . . . . . . . . . 40
3.4.6 Beispiel: Zeitschätzung TD . . . . . . . . . . . . . . . . . . . . 40
3.4.7 Beispiel: Markov-Prozessmodell . . . . . . . . . . . . . . . . . 42
3.4.8 Backup-Diagramm: Q-learning . . . . . . . . . . . . . . . . . . 45
3.4.9 Gridworld mit Klippe (SB98, Seite 150) . . . . . . . . . . . . . 46
4.1.1 Quake3 Spielszene . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.1.2Quake, Clientbot, Agent . . . . . . . . . . . . . . . . . . . . . 49
4.1.3 Lernumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.1 Klassendiagramm . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.2Interaktion: Agent Spielumgebung . . . . . . . . . . . . . . . 53
4.4.3 IOController . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5.1 Erstellen der Zustandsmatrix . . . . . . . . . . . . . . . . . . 58
4.5.2Matrix mit Gauÿlter überarbeitet . . . . . . . . . . . . . . . 59
4.5.3 Drei Zustände . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.5.4 Matrizen mit Gauÿlter überarbeitet . . . . . . . . . . . . . . 60
4.5.5 Basisaktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5.6 Überarbeitete Blickrichtungsänderungen . . . . . . . . . . . . 65
5.1.1 Versuchsaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.4.1 Beispiel: Versuchsergebnisse . . . . . . . . . . . . . . . . . . . 80
5.4.2Variation von . . . . . . . . . . . . . . . . . . . . . . . . . . 83
VII

ABBILDUNGSVERZEICHNIS
5.4.3 Variation von (mit Standardabweichung) . . . . . . . . . . . 84
5.4.4 Aktionswertänderung . . . . . . . . . . . . . . . . . . . . . . . 85
5.4.5 Variation von . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.4.6 Variation von (mit Standardabweichung) . . . . . . . . . . . 87
5.4.7 Variation des Penalty Factors . . . . . . . . . . . . . . . . . . 88
5.4.8 Variation des Penalty Factors (mit Standardabweichung) . . . 89
5.4.9 Variation des No-Hit Penaltys . . . . . . . . . . . . . . . . . . 91
5.5.1 Bester Zustand . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.5.2 Meist besuchter Zustand . . . . . . . . . . . . . . . . . . . . . 93
5.5.3 Zweitmeist besuchter Zustand . . . . . . . . . . . . . . . . . . 94
5.5.4 Drittmeist besuchter Zustand . . . . . . . . . . . . . . . . . . 95
5.5.5 Zustandsübergangsfunktion . . . . . . . . . . . . . . . . . . . 96
5.6.1 Gegeneinander spielende Bots . . . . . . . . . . . . . . . . . . 98
5.6.2 Gegeneinander spielende Bots . . . . . . . . . . . . . . . . . . 99
VIII

Kapitel 1
Einleitung
1.1 KI Forschung anhand von Videospielen
Videospiele fungieren als beliebte Plattform für die Entwicklung und Erfor-
schung künstlicher Intelligenz (KI). Sie stellen ein geeignetes Thema für aka-
demische Forschung dar (Lai01). Videospiele sind anspruchsvoll und gleich-
zeitig recht einfach zu formalisieren (MBC
+
06, Seite 151). Sie bieten kom-
plexe und realitätsnahe Umgebungen (Lai01). Spielzustände und Verhaltens-
weisen der nicht-deterministischen Umwelt sind nicht vorhersagbar opti-
male Verhaltensweisen sind nicht bekannt. Der Entwickler kann deshalb dem
Softwareagenten nur in begrenztem Maÿe Wissen zur Verfügung stellen. Der
Agent muss Verhaltensweisen selbstständig erlernen. Videospiele machen es
möglich, auf einfache Weise Methoden der künstlichen Intelligenz zu entwi-
ckeln und ihre Verhaltensweisen zu analysieren (MBC
+
06, Seite 151).
Intelligente Agenten können das Verhalten ihrer Umwelt erlernen und so
auf verschiedene Situationen angemessen reagieren. Sie sind weiterhin in der
Lage, sich auf neue Situationen einzustellen. Diese Eigenschaft ist von groÿer
Bedeutung in der Entwicklung von Robotern in menschlicher Umgebung
(MBC
+
06).
Videospiele bieten also nicht nur eine leicht formalisierbare und messbare
Umgebung für eine künstliche Intelligenz sie gewährleisten einen Entwick-
lungsprozess ohne Gefährdung von Lebewesen oder Eigentum.
1.2 Thema der Arbeit
Laut Aufgabenstellung soll ein Softwareagent entwickelt werden, welcher sich
Spielverhalten unter Verwendung von Reinforcement Learning aneignet. Die
Aufgabenstellung sieht weiterhin die Verwendung bestimmter Techniken vor.
1

Kapitel 1: Einleitung
Die Wahrnehmung der Umwelt erfolgt mithilfe eines sogenannten Grids. Ein
Grid ist eine Matrix, in welcher die Beschaenheit der Umgebung kodiert
ist. Diese Technik wurde von Steen Priesterjahn et al. für eine dem Thema
dieser Diplomarbeit ähnlichen Arbeit entwickelt (siehe Abschnitt 2.1 und
(PKWB06)). Ich stelle diese Technik in Abschnitt 4.5.2 ausführlich vor.
Desweiteren sollte der k-Means-Algorithmus zum Einsatz kommen, um die
Zustandsmenge auf ein geeignetes Maÿ zu reduzieren. Genaue Erläuterungen
zu k-Means und Clusterverfahren im Allgemeinen nden sich ebenfalls in
Abschnitt 4.5.2.
1.3 Warum Reinforcement Learning?
Zum Zeitpunkt der Entwicklung des Agenten ist nicht bekannt, welches Spiel-
verhalten des Agenten optimal ist. Das vom Agenten verwendete Lernverfah-
ren muss also zu den unüberwachten Verfahren gehören.
In Abschnitt 2.1 stelle ich das Konzept eines Quakebots vor, in welchem ein
unüberwachtes Lernverfahren ein evolutionärer Algorithmus verwendet
wird. In Anlehnung an diese Arbeit entstand die Idee, einen Agenten auf der
Basis des Reinforcement Learning (deutsch sinngemäÿ verstärkendes Lernen)
zu entwickeln.
Reinforcement Learning bietet einige Vorteile gegenüber evolutionären
Lernverfahren. Reinforcement Learning beschreibt Lernen zum Zeitpunkt der
Interaktion mit der Umgebung, während evolutionäre Verfahren zeitlich ver-
setzt zur Interaktion lernen. R. Sutton und A. Barto sind davon überzeugt,
dass Methoden, welche die Vorteile des Verhaltens einzelner Individuen nut-
zen können, in vielen Fällen ezienter lernen können als evolutionäre Me-
thoden (SB98, Seite 9). Evolutionäre Lernverfahren ignorieren Informationen
über die Struktur des Lernproblems. Sie erkennen nicht, dass die gesuchten
Strategien Funktionen von Zuständen zu Aktionen sind. Sie betrachten weder
die Zustände noch die Aktionen, welche von den Individuen während ihrer
Interaktion mit der Umgebung durchlaufen werden. Durch das Verwenden
von zusätzlichem Wissen des Individuums sollte in den meisten Fällen eine
ezientere Suche nach guten Strategien möglich sein (SB98, Seite 9).
Es gibt auch gegensätzliche Meinungen zum Einsatz von Reinforcement
Learning in Videospielen. Um Adaption in Videospielen realisierbar zu ma-
chen, benötigt ein Lernverfahren Eigenschaften wie Leistungsfähigkeit, Fle-
xibilität und Zuverlässigkeit. Reinforcement Learning weise diese Attribute
zwar in wenig komplexen Bereichen auf, sei aber für Aufgaben mit der Kom-
plexität von Videospielen ungeeignet (MBC
+
06, Seite 157).
2

1.4 Ergebnisse der Arbeit
1.4 Ergebnisse der Arbeit
Mit dieser Arbeit zeige ich, dass Reinforcement Learning Lernprobleme in Vi-
deospielen mit vereinfachten Voraussetzungen ezient bewältigen kann.Der
entwickelte Softwareagent ist in der Lage, einen durch Skripte gesteuerten
Gegner zu besiegen.
1.5 Aufbau der Arbeit
Der Aufbau dieser Arbeit gestaltet sich wie folgt.Zunächst gebe ich einen
Überblick über verwandte Themen dieses Forschungsbereichs.Anschlieÿend
vermittele ich ein breites Basiswissen über das Thema Reinforcement Learn-
ing.Im darauolgenden Kapitel stelle ich das Design und die Umsetzung eines
auf Reinforcement Learning basierenden Agenten vor.In Kapitel 5 präsen-
tiere ich die Ergebnisse meiner Experimente und beende meine Diplomarbeit
mit einem Fazit.
3

Kapitel 2
Verwandte Arbeiten
Aufgrund der Beliebtheit von Videospielen als Plattform für die Erforschung
künstlicher Intelligenz wurden in der Vergangenheit viele Arbeiten veröent-
licht, welche sich dieser Diplomarbeit ähnlichen Inhalten widmen. Ich möchte
an dieser Stelle einige Arbeiten vorstellen, um dem Leser einen groben Über-
blick über KI Forschung anhand von Videospielen zu vermitteln.
2.1 Evolutionäres Lernen im Spiel Quake3
Steen Priesterjahn et al. entwickelten einen Bot
1
für das Spiel Quake3
2
(PKWB06). Dieser Bot war in der Lage, den Spielzustand wahrzunehmen
und daraufhin in Abhängigkeit vom jeweiligen Zustand eine Aktion zu wäh-
len. Eine Aktion bestand aus der Kombination von Basisbewegungen wie
beispielsweise Drehbewegungen, Schritte nach vorn, zurück oder seitwärts.
Gleichzeitig hatte der Bot die Möglichkeit seine Wae abzufeuern.
Mit Hilfe eines evolutionären Algorithmus' lernte der Bot jedem Zustand
die optimale Aktion zuzuordnen. Auf diese Weise war der Bot den im Spiel
mitgelieferten Quakebots mit fest einprogrammierter KI spielerisch weit
überlegen.
Der Bot nahm seine Umgebung über ein sogenanntes Grid wahr. Der von
mir entwickelte Agent verwendet die selbe Technik für die Wahrnehmung der
Spielwelt.
1
Das Wort Bot kommt von Robot ein Bot ist eine computergesteuerte Spielgur.
2
Der Egoshooter Quake3 wurde von ID Software (www.idsoftware.com) im Jahr 2000
veröentlicht. Die Inhalte dieses Spiels, welche ähnlich zu denen anderer Egoshooter sind,
stelle ich in Kapitel 4 genauer vor.
5

Kapitel 2: Verwandte Arbeiten
2.2 Regelbasiertes System im Spiel Quake2
Professor John E. Laird der Universität Michigan und seine Forschungsgrup-
pe entwickelten im Jahr 2001 eine künstliche Intelligenz für das Spiel Quake2
3
(Lai01). Diese KI basierte auf der sogenannten Soar-Architektur. Soar ist ei-
ne Engine für das Treen und Durchführen von Entscheidungen. Hierzu wird
auf eine Wissensbasis in Form einer Regelmenge zugegrien. Die Regeln ge-
ben an, in welcher Situation welches Ziel verfolgt werden soll. Dabei können
die Ziele auch sehr abstrakt formuliert werden, sodass sie für die Ausführung
in mehrere Unterziele zerlegt werden können.
Der Quakebot war in der Lage, seinen Gegnern Hinterhalte zu legen. Hier-
zu antizipierte er die zukünftigen Handlungen der Gegner.
2.3 Navigational Behaviors im Spiel Half-Life
Aaron Khoo und Robert Zubek der Northwestern University entwickelten ei-
ne künstliche Intelligenz mit dem Namen Groo für einen Bot des Spiels Half-
Life
4
(ZK02). Sie verwendeten sogenannte Navigational Behaviors (deutsch
Verhaltensweisen der Bewegung ). Ein Navigational Behavior lässt den Bot
bestimmte Aktionen, wie z. B. das Angreifen des Gegners oder das Flüchten
vor selbigem, durchführen. Dazu senden die Navigational Behaviors einfache
Steuerbefehle an das Spiel. Für jedes Navigational Behavior wird ein Akti-
vierungspegel bestimmt. In jedem Kontrollzyklus des Bots wird das Behavior
ausgewählt, welches den höchsten Pegel aufweist.
Ziel von Khoo und Zubek war es eher, eine KI mit sehr geringer CPU
Auslastung als einen lernfähigen Agenten zu entwickeln. Groo wies ein men-
schenähnliches Spielverhalten auf.
2.4 Support Vector Machines in Warcraft3
Daniel Fetter der Iowa State University imitierte menschliches Verhalten mit-
hilfe von Support Vector Machines (SVM) im Echtzeit-Strategiespiel
5
War-
3
Der Egoshooter Quake2 wurde von ID Software im Jahr 1997 veröentliche.Quake2
ist der Vorgänger von Quake3.
4
Der Egoshooter Half-Life wurde von Valve (www.valvesoftware.com) im Jahr 1998
veröentlicht.
5
Beschreibung von Echtzeit-Strategiespielen: http://de.wikipedia.org/wiki/Echtzeit-
Strategiespiel
6

2.4 Support Vector Machines in Warcraft3
craft3
6
(Fet). In Echtzeit-Strategiespielen muss der Spieler Städte errichten,
Einheiten produzieren wie beispielsweise Ritter oder Bogenschützen und
Armeen dieser Einheiten in die Schlacht führen. Die Einheitentypen besitzen
verschiedene Fähigkeiten und Eigenschaften. Das Kampfsystem von War-
craft3 basiert auf dem Schere-Stein-Papier Prinzip. Jeder Einheitentyp be-
siegt einen weiteren Typ und wird wiederum von einem anderen Einheitentyp
geschlagen. Die Wahl, welche Einheiten zu Felde geführt werden, ist spielent-
scheidend. Die Support Vector Machines sollten lernen, welche Einheit die
gröÿte Kampfkraftsteigerung für die eigene Armee darstellt.
Hierzu wurden sogenannte Replays von professionellen Spielern ausgewer-
tet. Replay-Dateien enthalten sämtliche Steuerbefehle (Anweisungen für das
Bewegen, Produzieren und Angreifen von Spielguren), die während einer
Partie Warcraft3 von den Spielern eingegeben werden. Der Verlauf einer
Spielpartie ist somit komplett rekonstruierbar.
Die Replays wurden als Grundlage für das Trainieren der SVM verwen-
det. Diese waren anschlieÿend in der Lage, in Abhängigkeit der jeweiligen
Spielsituation den am besten geeigneten Einheitentyp zu bestimmen.
6
Warcraft3 wurde von Blizzard Entertainment (www.blizzard.com) im Jahr 2002 ver-
öentlicht.
7

Kapitel 3
Reinforcement Learning
In diesem Kapitel stelle ich das Lernverfahren Reinforcement Learning vor.
Zu Beginn zeige ich den Bezug von Reinforcement Learning zum natürlichen
Vorbild dem Lernenverhalten von Tieren auf. Anschlieÿend betrachte und
erläutere ich grundlegende Frage- und Problemstellungen, um daraufhin ver-
schiedene Methoden des Reinforcement Learnings vorzustellen. Ich orientiere
mich an der Terminologie von R. S. Sutton und A. G. Barto.
3.1 Einführung
Wie viele Lernverfahren der künstlichen Intelligenz ist auch Reinforcement
Learning durch Vorbilder aus der Natur bzw. dem Tierreich inspiriert worden.
Kleinkinder aber auch Tiere erlernen verschiedene motorische Bewegungsab-
läufe und Verhaltensweisen auf eine Art und Weise, welche im Englischen
trial and error learning genannt wird.
Um einen Gegenstand greifen zu können, muss ein Kleinkind die Koordi-
nation von Arm und Hand erlernen. Es muss die richtigen Muskeln in der
richtigen Reihenfolge an- bzw. entspannen. Da das Kind diesen Bewegungs-
ablauf zunächst nicht beherrscht, wird der erste Versuch wahrscheinlich nicht
erfolgreich sein. Das Kind führt einige Muskelbewegungen durch, aber es be-
kommt den Gegenstand nicht zu fassen. Es lernt, dass diese Abfolge von
Muskelbewegungen nicht zum Ziel führt. Für die folgenden Versuche wird
das Kind andere Bewegungen wählen, bis es erfolgreich den Gegenstand grei-
fen kann. Zusammenfassend kann man diese Vorgehensweise folgendermaÿen
ausdrücken: Das Kind führt Aktionen aus und bewertet diese hinsichtlich
ihrer Eektivität.
In vielen Bereichen des Lebens lernt der Mensch auf diese Art und Weise.
Beim Spielen von Brettspielen, bei Entscheidungen im Berufsleben und auch
9

Kapitel 3: Reinforcement Learning
beim Sport lernen Menschen teils bewusst, teils unbewusst nach dem trial
and error Verfahren.
3.2 Geschichte des Reinforcement Learnings
Das moderne Reinforcement Learning entstand aus drei unterschiedlichen
wissenschaftlichen Gebieten. Das erste Gebiet befasste sich mit Lernen nach
dem trial and error Prinzip. Es entwickelte sich aus der Psychologie des
Tierlernens. Arbeiten aus diesem Bereich reichen bis hin zu den frühsten
Arbeiten zum Thema künstliche Intelligenz (SB98, Seite 16).
Der zweite Bereich widmete sich dem Problem der optimalen Kontrolle
(englisch optimal control), welches mithilfe von Wertefunktionen (englisch
value functions) und des Dynamischen Programmierens gelöst wurde.
Das dritte Gebiet war das der Temporal Dierence-Methoden (deutsch
zeitlicher Unterschied ). Aus diesen drei Bereichen entstand in den späten
1980er Jahren das moderne Reinforcement Learning.
3.3 Grundlagen
3.3.1 Softwarekomponenten
Ein nach dem Reinforcement Learning-Prinzip lernender Softwareagent kennt
eine feste Anzahl an möglichen Zuständen seiner Umgebung, abgelegt in der
Zustandsmenge S. Zu jedem Zustand s S verfügt er über eine Menge von
Aktionen A(s), die er wählen und ausführen kann. Der Agent erlernt eine Zu-
weisung von Aktionen zu Zuständen. Er bewertet Zustände oder Aktionen
abhängig vom gewählten Verfahren nach dem Nutzen, in diesem speziel-
len Zustand zu sein bzw. diese spezielle Aktion auszuführen. Das Ausführen
einer bestimmte Aktion ist gut für den Agenten, wenn diese Aktion den
Agenten seinem vorgegebenen Ziel näher bringt. Analog hierzu ist das Besu-
chen eines Zustandes gut für den Agenten, wenn von diesem Zustand aus
gute Aktionen ausgeführt werden können.
Wie der Agent die Zuweisung von Aktionen zu Zuständen (s a, a
A
(s)) erlernt, ist im Folgenden beschrieben. Der Agent wird zunächst über
den Zustand s seiner Umgebung informiert. In der Literatur von Sutton
und Barto heiÿt es, der Agent erhält von seiner Umgebung ein State Si-
gnal (deutsch Zustandssignal). Daraufhin führt er eine Aktion a A(s) aus.
Auf jede ausgeführte Aktion a
t
antwortet seine Umgebung durch eine Reak-
tion. Der Agent erhält eine Belohnung r
t+1
und wird über den neuen Zustand
10

3.3 Grundlagen
Abbildung 3.3.1: Interaktion zwischen Agent und Umwelt (SB98,Seite 52)
s
t+1
der Umgebung informiert. (Der Index t steht für den Zeitpunkt.) Die
Interaktion zwischen Agent und Umwelt ist in Abbildung 3.3.1 dargestellt.
Eine Belohnung besteht aus einem nummerischen Wert. Führt der Agent
eine gute Aktion aus,so erhält er eine hohe Belohnung. Schlechte Ak-
tionen werden hingegen mit niedrigen unter Umständen auch negativen
Belohnungen bestraft. Der Softwareagent speichert zu jeder Aktion deren
Güte. Diese ist unter anderem von der erhaltenen Belohnung abhängig.
Der Agent kann nun sein vorgegebenes Ziel erreichen,indem er die Summe
der Belohnungen maximiert. Das Auswählen von bestimmten Aktionen soll
allerdings nicht nur kurzfristig zu hohen Belohnungen führen. Der Agent soll
jene Aktionen wählen und ausführen,welche auf lange Sicht die gröÿte Sum-
me an Belohnungen ermöglichen. Auf diese Weise wird dem Softwareagenten
die Möglichkeit gegeben,langfristig zu planen.
Um dem Agenten die beschriebene Verhaltensweise zu ermöglichen,muss
dieser über bestimmte Reinforcement Learning-Elemente verfügen. Er benö-
tigt eine Policy (deutsch Strategie/Taktik ),eine Reward Function (deutsch
Belohnungsfunktion),eine Value Function (deutsch Werte Funktion) und
eventuell ein Modell seiner Umwelt.
Policy
Die Policy des Softwareagenten bestimmt,welche Aktion dieser in welchem
Zustand wählt. Sie hat einen gewissen Einuss auf das Lernverhalten des
Agenten. So lernt dieser möglicherweise unter Verwendung von Policy
1
relativ langsam,während er unter Verwendung von Policy
2
verhältnismäÿig
schnell lernt.
11

Kapitel 3: Reinforcement Learning
Es gibt zwei unterschiedliche Sichtweisen auf den Begri Policy. Einerseits
kann eine Policy als konkrete Zuweisung von Aktionen zu Zuständen gesehen
werden; andererseits kann mit dem Begri Policy auch eine Regelung zur
Wahl von Aktionen gemeint sein. Ich möchte an dieser Stelle einige Policies
der zweiten Kategorie vorstellen.
Random Policy Unter Verwendung der Random Policy (deutsch zufäl-
lige Strategie) wählt der Agent alle auszuführenden Aktionen rein zufällig.
Der Agent erlernt auch bei dieser Policy die Güte der ausgeführten Aktio-
nen. Allerdings ndet das angesammelte Wissen keine Anwendung. Ein nach
der RandomPolicy agierender Softwareagent lernt wesentlich langsamer als
Agenten, welche Aktionen unter Berücksichtigung deren Güte wählen.
Der Agent lernt aus folgendemGrund langsam. Er ndet zwar zunächst
gute Aktionen, doch umfestzustellen, von welcher Aktion bzw. von welcher
Folge von Aktionen letztendlich die höchste Belohnung zu erwarten ist, müs-
sen sämtliche erfolgversprechende Aktionsfolgen untersucht werden. Bei einer
rein zufälligen Wahl von Aktionen wird der Agent verhältnismäÿig selten eine
erfolgversprechende Aktionsfolge ausführen; somit kann er auch entsprechend
spät entscheiden, welche Aktionsfolge für eine bestimmte Situation die Beste
ist.
Greedy Policy Ein nach der Greedy Policy (deutsch gierige Strategie)
agierender Softwareagent wählt immer die momentan am besten bewerte-
te Aktion aus. Dieses Verhalten scheint zunächst sinnvoll zu sein. Doch wie
später in diesemKapitel aufgezeigt wird, ist dieses Verhalten imRegelfall un-
angebracht. Genauer gesagt macht der Einsatz der Greedy Policy nur dann
Sinn, wenn der Softwareagent den Lernvorgang (weitestgehend) abgeschlos-
sen hat.
Der Agent aktualisiert auch unter Verwendung der Greedy Policy weiter-
hin die Werte der gewählten Aktionen. Es kann allerdings der Fall eintreten,
dass der Softwareagent niemals die beste Aktion erkennt.
Betrachten wir folgende Situation. Der Agent hat die beste Aktion a
best
noch nicht gefunden und wählt nun trotzdemseine Aktionen nach der Gree-
dy Policy. Selbst wenn die momentan am besten bewertete Aktion a
tmp_best
in ihremWert sinkt, so muss dieser Wert nicht zwangsläug unter den mo-
mentanen Wert der Aktion a
best
sinken. Somit wird die Aktion a
best
niemals
als beste Aktion erkannt.
-Greedy Policy Die -Greedy Policy trägt ihren Namen aufgrund des von
ihr verwendeten Parameters . Sie schreibt demSoftwareagenten in 1- aller
12

3.3 Grundlagen
Fälle vor, die am besten bewertete Aktion zu wählen also greedy zu handeln.
In aller Fälle wird eine zufällige Aktion gewählt. Die am besten bewertete
Aktion a
best
wird demnach mit Wahrscheinlichkeit P (a
best
) = 1 - + ·
1
n
gewählt, wobei n = |A(s)| die Gröÿe der Menge aller wählbaren Aktionen in
diesem Zustand bezeichnet. Für jede andere Aktion a A \ a
best
beträgt die
Wahrscheinlichkeit gewählt zu werden P (a) = ·
1
n
.
Die beiden zuvor vorgestellten Policies Random Policy und Greedy Po-
licy sind Spezialfälle der -Greedy Policy. Eine -Greedy Policy mit = 1
ist identisch mit der Random Policy. Hingegen ist eine -Greedy Policy mit
= 0 identisch mit der Greedy Policy.
Die Geschwindigkeit, mit welcher der Agent lernt, hängt von dem gewähl-
ten ab. Ein groÿes lässt den Agenten viel explorieren (englisch to explore)
viele verschiedene Aktionen ausprobieren. Ein kleines hingegen sorgt dafür,
dass der Agent hauptsächlich gute Aktionen ausnutzt (englisch to exploite).
Wie in den Abschnitten über die Random- und die Greedy Policy erklärt
wurde, ist für ein zügiges Lernen sowohl Exploration als auch Exploitati-
on wichtig. In Abschnitt 3.3.3 werden Exploration und Exploitation näher
betrachtet.
Softmax Selection Die Softmax Selection wählt ebenfalls Aktionen aus
der Aktionsmenge A(s) anhand deren Bewertung. Für Aktion a
k
ist hier
die Wahrscheinlichkeit P (a
k
) gewählt zu werden proportional zu ihrem Wert
Q
(a
k
):
P
(a
k
) =
Q
(a
k
)
|A|
i=1
Q
(a
i
)
.
Optimal Policy Die Optimal Policy (deutsch optimale Strategie) ist kei-
ne Policy im Sinne der oben vorgestellten Policies. Agiert der Agent nach
der optimalen Strategie, so wählt er in jedem Zustand die beste Aktion. Um
nach der optimalen Strategie handeln zu können, muss also das Verhalten
der Umgebung vollständig gelernt sein der Agent hat die optimale Wer-
tefunktion erlernt. Wählt der Agent jetzt die Aktionen greedy, so agiert er
nach der optimalen Strategie. Es kann für eine Lernaufgabe auch mehrere
optimale Policies geben.
Reward Function
Der Softwareagent bekommt über Rewards (deutsch Belohnungen) Rückmel-
dung von seiner Umgebung. Anhand dieser Rückmeldung erkennt der Agent
die Güte seines Handelns. Eine Belohnung besteht aus einem numerischen
13

Kapitel 3: Reinforcement Learning
Wert. Je höher dieser Wert ausfällt, desto besser war die ausgeführte Aktion.
Mit dem Begri Reward Function wird die Regelmenge bezeichnet, welche
für das Ermitteln der exakten Belohnung verantwortlich ist. Per Deniti-
on ist die Belohnungsfunktion Teil der Umwelt und gehört somit nicht zum
Softwareagenten selbst (SB98, Seite 53).
Die Belohnungsfunktion ist maÿgeblich am Lernverhalten des Software-
agenten beteiligt. Über sie allein ist festgelegt, welche Dinge der Agent ler-
nen kann. Somit bestimmt die Belohnungsfunktion auch das Verhalten des
Agenten. Um das Verständnis hierfür etwas zu fördern, sei folgendes Beispiel
(SB98, Seite 59) angeführt.
Beispiel 3.3.1. Ein Softwareagent soll den Weg aus einem Labyrinth nden.
Über die Belohnungsfunktion ist willkürlich festgelegt, dass der Agent nur für
das Verlassen des Labyrinths mit dem Wert 1 belohnt wird. Der Agent ist
infolgedessen nicht bestrebt, den Ausgang zu nden; er scheint rein zufällige
Wege zu gehen.
Bei näherer Betrachtung ist diese Verhalten nicht verwunderlich. Jeder
Ausbruchversuch endet für den Agenten mit einer Belohnung von 1 unab-
hängig davon, wie schnell dieser den Ausgang gefunden hat. Wird die Be-
lohnungsfunktion dahingehend geändert, dass der Agent für jeden Schritt im
Labyrinth eine negative Belohnung von -1 erhält, so erlernt der Agent ein
schnelles Ausbrechen.
Value Function
Die Value Function ordnet jedem Zustand oder jeder Aktion einen Wert
zu. Dieser Wert gibt an, wie gut es für den Agenten ist, diesen Zustand zu
besuchen bzw. diese Aktion auszuführen
1
.
Die durchschnittliche Belohnung r einer Aktion a ist für deren Bewertung
von groÿer Bedeutung. Naheliegender Weise kann der Durschnitt folgender-
maÿen errechnet werden: Es werden für die Aktion a alle bis zum Zeitschritt
t
+1 erhaltenen Belohnungen r
1
, ..., r
t+1
aufsummiert und anschlieÿend durch
die Anzahl der Zeitschritte geteilt:
r
t+1
=
r
1
+ r
2
+ ... + r
t+1
t
+ 1
.
1
In diesem Absatz beschränken sich meine Erklärungen auf das Bewerten von Aktionen.
14

3.3 Grundlagen
Der Nachteil an dieser Methode ist, dass entsprechend der Laufzeit alle
bisherigen Belohnungen gespeichert werden müssen. Es ist daher sinnvoller,
die durchschnittliche Belohnung auf folgende Weise inkrementell zu bestim-
men.
r
t+1
=
1
t
+ 1
t+1
i=1
r
i
=
1
t
+ 1
r
t+1
+
t
i=1
r
i
=
1
t
+ 1
r
t+1
+ k · r
t
+ r
t
- r
t
=
1
t
+ 1
r
t+1
+ (k + 1) · r
t
- r
t
= r
t
+
1
t
+ 1
r
t+1
- r
t
Der Wert Q(a) einer Aktion a hängt jedoch nicht nur von der durchschnitt-
lichen Belohnung ab, welche der Agent nach dem Ausführen von a erhält. Es
ist wichtig, den auf die Aktion a folgenden Zustand s mit in die Bewertung
von a einzubeziehen. Führt a in einen Zustand, von welchem nur niedrig
bewertete Aktion aus möglich sind, so wird a dementsprechend schlechter
bewertet. Führt a hingegen in einen Zustand, von welchem wiederum hoch
bewertete Aktionen aus möglich sind, so wirkt sich dieser Sachverhalt auch
auf den Wert Q(a) aus. Der Wert einer Aktion hängt also zusätzlich von der
Summe R
t
der in Zukunft erwarteten Belohnungen ab.
R
t
= r
t+1
+ r
t+2
+ ... + r
T
(3.3.1)
Beispiel 3.3.2. Eine gewöhnliche Maus hat Hunger und ist auf der Suche
nach etwas Essbarem. Nehmen wir an, sie ist in folgender Situation: Sie steht
vor einer Dornenhecke und auf der ihr gegenüberliegenden Seite liegt ein
groÿes StückKäse. Die Maus könnte jetzt den unangenehmen Weg durch die
Dornenhecke auf sich nehmen und schlieÿlich mit dem Käse belohnt werden.
Die Aktion der Maus, durch die Dornenhecke zu huschen (und sich stechen
zu lassen), ist allein betrachtet schlecht für die Maus. Doch sie führt
für die Maus zu einem guten Zustand: Die Maus kann den Käse fressen. Im
Zusammenhang betrachtet wird also eine zunächst schlechte Aktion positiv
bewertet.
15

Kapitel 3: Reinforcement Learning
Betrachten wir eine andere Situation. Die Maus hat noch immer Hunger
und sitzt vor einem Stück Käse. Dieser liegt allerdings in einer Mausefalle,
welche die Maus beim fressen des Käses in einem Käg einschlieÿen wird. Die
auf kurze Sicht gute Aktion, den Käse zu fressen, wird von der (intelligenten)
Maus dennoch schlecht bewertet, da sie zu einem ungünstigen Zustand führt.
Die Bewertung von Aktionen und Zuständen hinsichtlich ihrer Folgezu-
stände ermöglicht dem Agenten langfristig planen zu können. Wie letztend-
lich die genauen Werte der jeweiligen Aktionen und Zustände ermittelt wer-
den, ist abhängig von den gewählten Lernverfahren, welche in Abschnitt 3.4
ausführlich vorgestellt werden.
Modell
Manche Lernverfahren benötigen ein Modell ihrer Umwelt. So benötigt bei-
spielsweise das Dynamische Programmieren (siehe Abschnitt 3.4.1) ein Mo-
dell, welches dem Agenten das genaue Verhalten seiner Umwelt zur Verfügung
stellt. In diesem Fall kennt der Agent durch das Modell die Wahrscheinlich-
keitsverteilung für die Zustandsübergänge; weiterhin kennt der Agent die
Belohnungen für sämtliche Aktionen.
Nicht immer ist ein Modell für die Umgebung bekannt. Dadurch sind einige
Lernverfahren in ihrer Einsetzbarkeit eingeschränkt.
3.3.2 Evaluative Feedback
Die Verfahren der künstlichen Intelligenz unterteilt man in überwachte und
unüberwachte Lernverfahren.
Die bewertende Rückmeldung (englisch evaluative feedback ) für eine aus-
geführte Aktion gibt Aufschluss über deren Güte. Anhand dieser Belohnung
lässt sich allerdings keine Aussage über die anderen möglichen Aktionen ma-
chen. Der Agent kann nicht entscheiden, ob er eine überdurchschnittlich gute
oder schlechte Aktion ausgeführt hat. In diesem Fall spricht man von unüber-
wachtem Lernen. Neben Reinforcement Learning gehören auch evolutionäre
Methoden zu diesen Lernverfahren.
Beim überwachten Lernen hingegen erhält der Agent eine instruktive Rück-
meldung (englisch instructive feedback ). Auf diese Weise wird dem Agenten
mitgeteilt, welche die beste Aktion in dieser Situation gewesen wäre. Dieser
erfährt allerdings nicht, wie gut oder schlecht seine gewählte Aktion war. Zu
den überwachten Lernverfahren gehören z. B. Neuronale Netze.
16

3.3 Grundlagen
3.3.3 Exploration vs. Exploitation
In diesem Abschnitt werden nur stationäre Probleme betrachtet. Ein Lern-
problem bzw. eine Lernaufgabe ist stationär, wenn die Umgebung zu jedem
Zeitpunkt auf die gleiche Art und Weise reagiert.
Wie in Abschnitt 3.3.2 erwähnt wurde, kann der Softwareagent aus der
Rückmeldung für eine einzelne Aktion keinerlei Information über die rest-
lichen wählbaren Funktionen ziehen. Bekommt der Agent eine hohe Beloh-
nung, so ist es eventuell sinnvoll, diese Aktion in dieser Situation wieder zu
wählen. Doch es ist durchaus denkbar, dass es noch bessere Aktion für diese
Situation gibt. Der Agent darf also nicht nur diese hoch belohnte Aktion aus-
führen diese also ausnutzen (englisch to exploit). Um auf lange Sicht die
Summe der Belohnungen zu maximieren, muss der Softwareagent die bes-
te Aktion für jede Situation ermitteln. Er darf Aktionen nicht nur greedy
wählen, sondern muss auch Aktionen ausführen, welche bei seinem aktuellen
Lernstand niedrig bewertet sind. Der Agent muss den Aktionsraum explorie-
ren.
Übermäÿiges Explorieren ist aber nicht immer praktikabel. Während der
Agent exploriert, werden seine gutgeschriebenen Belohnungen in der Regel
gering ausfallen. Gerade für Aufgaben von kurzer Dauer ist es unangebracht,
dass der Softwareagent zunächst den gesamten Aktionsraum exploriert. So
könnte die Zeit für das Lösen der Aufgabe bereits abgelaufen sein, bevor
der Agent mit dem Sammeln von Belohnungen begonnen hat. Es ist auch
denkbar, dass der Agent frühe Erfolge liefern soll.
Beispiel 3.3.3. Ein Roboter soll in einer unbekannten Umgebung Müll sam-
meln. Der Betreiber möchte nicht, dass der Roboter mehrere Tage lernt, bevor
er eektiv mit dem Müllsammeln beginnt. (Der Bereich soll ja schlieÿlich sau-
ber gehalten werden.) Es wäre also wünschenswert, wenn der Roboter schon
nach kurzer Zeit mit dem Sammeln beginnt, auch wenn dieses zum aktuellen
Zeitpunkt noch inezient ausgeführt wird.
Es stellt sich also folgender Sachverhalt dar: Während der Agent explo-
riert, kann er keine Belohnungen einfahren und während der Agent Aktionen
ausnutzt, kann er keine besseren Aktionen entdecken. Man spricht hier von
dem Exploration-Exploitation-Dilemma.
Es gibt mehrere Möglichkeiten, mit diesem Dilemma umzugehen. Die ein-
fachste Lösung ist das Verwenden der in Abschnitt 3.3.1 vorgestellten stati-
schen -Greedy Policy. In vielen Fällen ist dieser simple Lösungsansatz aus-
reichend.
17

Kapitel 3: Reinforcement Learning
Für eine etwas ausgereiftere Lösung wird das über den Lernprozess des
Agenten variiert. Zu Beginn wird dem ein relativ hoher Wert zugewiesen,
woraufhin der Agent in hohem Maÿe exploriert. Mit fortschreitender Zeit
wird der Wert des dekrementiert, um durch die als gut befundenen Aktionen
hohe Belohnungen zu erhalten.
Im Idealfall ndet der Agent für jede Situation die beste Aktion. In diesem
Fall besteht weder Notwendigkeit noch ist es sinnvoll, den Agenten weiterhin
explorieren zu lassen.
3.3.4 Nicht-stationäre Probleme
Im Vergleich zu den stationären Problemen gibt es ebenso nicht-stationäre
Probleme. Die Umgebung des Agenten ändert sich. Im Beispiel 3.3.3 könnte
sich z. B. das Verhalten der Energieversorgung des Roboters verändern, da
der Akku Ermüdungserscheinungen aufweist. Es ist natürlich auch denkbar,
dass der Agent mit einer Umgebung interagiert, in welcher sich auch andere
lernende Agenten oder Lebewesen aufhalten.
In solchen nicht-stationären Umgebungen muss ein erfolgreicher Agent
einen Anteil der Aktion non-greedy wählen. Nur so kann erreicht werden,
dass der Agent alle Aktionen weiterhin testet und somit zu jedem Zeitpunkt
den wahren Wert seiner Aktionen kennt. (Theoretisch ist es möglich, dass
sich die Umgebung mit derart hoher Geschwindigkeit ändert, dass es dem
Softwareagenten nicht möglich ist, auf diese Änderungen angemessen zu rea-
gieren.)
3.3.5 Periodische und kontinuierliche Aufgaben
Es wird zwischen periodischen und kontinuierlichen Aufgaben unterschieden.
Periodische Aufgaben sind wie der Name schon sagt in Abschnitte ein-
geteilt. Es gibt einen festgelegten Start- und Endzustand. Die Aufgabe in
Beispiel 3.3.1 (den Ausgang eines Labyrinths zu nden) ist in dieser Form
ein Beispiel für eine periodische Aufgabe. Andere Aufgaben lassen sich nicht
in Abschnitte einteilen. Sie werden kontinuierliche Lernaufgaben genannt.
So ist die Arbeit des Müllsammlers aus Beispiel 3.3.3 eine kontinuierliche
Aufgabe.
Es gibt auch Lernaufgaben, welche sowohl als periodische als auch als kon-
tinuierliche Aufgaben behandelt werden können. Hierzu wird allerdings die
Technik Discounting benötigt, welche im folgenden Abschnitt 3.3.6 vorge-
stellt wird. Ein Beispiel zu einer periodischen und zugleich kontinuierlichen
Aufgabe ndet sich auch in diesem Abschnitt.
18

3.3 Grundlagen
3.3.6 Discounting
In einigen Fällen ist es unerwünscht, weit in der Zukunft liegende Zustände
und Aktionen in die Berechnung des Zustands- bzw. Aktionswertes mit einzu-
beziehen; beziehungsweise soll der Einuss in der Zukunft liegender Zustände
und Aktionen mit steigender Entfernung sinken. Dieses abgeschwächte Einbe-
ziehen von Folgezuständen und -aktionen wird Discounting genannt (deutsch
Diskontierung/Abzinsung ). Wie in Abschnitt 3.3.1 beschrieben wurde, hängt
der Wert Q(a) einer Aktion a u. a. von der Summe R
t
der erwarteten Be-
lohnungen ab (siehe Gleichung 3.3.1). Um Discounting anzuwenden, wird der
Discount Factor (deutsch Diskontierungsfaktor ) eingeführt, mit 0 1.
Für jeden Zeitschritt in die Zukunft wird um eine Potenz erhöht.
R
t
= r
t+1
+
1
· r
t+2
+ ... +
T
· r
t+T
=
T
k=0
k
· r
t+k+1
Der Einsatz von Discounting ist in einigen Fällen notwendig. So wäre bei-
spielsweise in kontinuierlichen Aufgaben T = . Die zu maximierende Sum-
me R
t
für unendlich viele Aktionen wäre ohne Discounting unendlich groÿ.
Durch Discounting mit < 1 wird die unendliche Summe R
t
durch einen
endlichen Wert beschränkt, solange die Belohnungen ebenfalls nur endlich
groÿ sind.
Auch in nicht-stationären Aufgaben ist Discounting unerlässlich. Das Ver-
halten der Umgebung ändert sich und somit werden die Schätzungen über
die erwarteten Belohnungen immer ungenauer, je weiter das Ausführen der
entsprechenden Aktionen in der Zukunft liegen. Aus diesem Grund sollen
diese nicht mit vollem Gewicht in die Bewertung der gerade ausgeführten
Aktion a einieÿen.
Beispiel 3.3.4. Auf einem Schlitten ist eine Stange mit einem Scharnier
befestigt (siehe Abbildung 3.3.2). Diese steht zu Beginn senkrecht und soll
durch die Bewegung des Schlittens balanciert werden. Der Schlitten kann sich
auf einem kurzen Gleiskörper bewegen. Ein Softwareagent soll die Steuerung
des Schlittens übernehmen. Er führt in jedem Zeitschritt eine Aktion aus.
Diese Lernaufgabe kann mit einem periodischen Ansatz gelöst werden.
Der Agent wird folgendermaÿen belohnt: Für jede Aktion, die nicht zum
Herunterfallen der Stange führt, erhält der Agent eine Belohnung von 1.
Fällt die Stange zu Boden, so erhält der Agent keine Belohnung.
Mit Hilfe von Discounting kann diese Aufgabe auch als kontinuierliche
Aufgabe gelöst werden. Der Agent wird für das Herunterfallen der Stange
mit -1 bestraft. Alle übrigen Aktionen werden nicht belohnt.
19
Ende der Leseprobe aus 107 Seiten

Details

Titel
Das Erlernen von Spielverhalten anhand des "Reinforcement Learning" bei Videospielen
Hochschule
Universität Paderborn  (Fakultät 5 - Elektrotechnik/Mathematik/Informatik)
Note
1.0
Autor
Jahr
2007
Seiten
107
Katalognummer
V388646
ISBN (eBook)
9783668626102
ISBN (Buch)
9783668626119
Dateigröße
5553 KB
Sprache
Deutsch
Schlagworte
erlernen, spielverhalten, reinforcement, learning, videospiele, machine learning, maschinelles lernen, artificial intelligence, künstliche intelligenz, KI, AI, evolutionary algorithms, video games, verstärkendes lernen, rule based sytems, support vector machines, evaluative feedback, exploration, exploitation, markov, backup diagrams, bellmangleichung, bellman equation, dynamic programming, monte-carlo, q learning, clustering, k-means, q-learning, quake, quake 3, bot
Arbeit zitieren
Felix Schulte (Autor:in), 2007, Das Erlernen von Spielverhalten anhand des "Reinforcement Learning" bei Videospielen, München, GRIN Verlag, https://www.grin.com/document/388646

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Das Erlernen von Spielverhalten anhand des "Reinforcement Learning" bei Videospielen



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden