Im Rahmen dieser Arbeit wird ein Softwareagent entwickelt, welcher sich Spielverhalten unter Verwendung von Reinforcement Learning aneignet. Die Wahrnehmung der Umwelt erfolgt mithilfe eines sogenannten "Grids", welches den Zustand der Spielwelt kodiert. Weiterhin kommt der k-Means-Algorithmus zum Einsatz, um die Zustandsmenge auf ein geeignetes Maß zu reduzieren.
Videospiele fungieren als beliebte Plattform für die Entwicklung und Erforschung künstlicher Intelligenz (KI). Sie stellen ein geeignetes Thema für akademische Forschung dar. Videospiele sind anspruchsvoll und gleichzeitig recht einfach zu formalisieren. Sie bieten komplexe und realitätsnahe Umgebungen. Spielzustände und Verhaltensweisen der nicht-deterministischen Umwelt sind nicht vorhersagbar - optimale 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 entwickeln und ihre Verhaltensweisen zu analysieren. 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. Videospiele bieten also nicht nur eine leicht formalisierbare und messbare Umgebung für eine künstliche Intelligenz - sie gewährleisten einen Entwicklungsprozess ohne Gefährdung von Lebewesen oder Eigentum.
Mit dieser Arbeit zeige ich, dass Reinforcement Learning Lernprobleme in Videospielen mit vereinfachten Voraussetzungen effizient bewältigen kann. Der entwickelte Softwareagent ist in der Lage, einen durch Skripte gesteuerten Gegner zu besiegen.
Inhaltsverzeichnis
1. Einleitung
1.1 KI Forschung anhand von Videospielen
1.2 Thema der Arbeit
1.3 Warum Reinforcement Learning?
1.4 Ergebnisse der Arbeit
1.5 Aufbau der Arbeit
2. Verwandte Arbeiten
2.1 Evolutionäres Lernen im Spiel Quake3
2.2 Regelbasiertes System im Spiel Quake2
2.3 Navigational Behaviors im Spiel Half-Life
2.4 Support Vector Machines in Warcraft3
3. Reinforcement Learning
3.1 Einführung
3.2 Geschichte des Reinforcement Learnings
3.3 Grundlagen
3.3.1 Softwarekomponenten
3.3.2 Evaluative Feedback
3.3.3 Exploration vs. Exploitation
3.3.4 Nicht-stationäre Probleme
3.3.5 Periodische und kontinuierliche Aufgaben
3.3.6 Discounting
3.3.7 Markoveigenschaft
3.3.8 Backup-Diagramme
3.3.9 Bellmangleichung
3.4 Elementare Funktionen
3.4.1 Dynamic Programming
3.4.2 Monte-Carlo
3.4.3 Temporal Difference Learning
4. Entwicklung des Softwareagenten
4.1 Lernumgebung
4.2 Clientbot-API
4.3 Lernziele
4.4 Aufbau des Quakebots
4.5 Elemente des Reinforcement Learnings
4.5.1 Q-learning
4.5.2 Zustände und Aktionen
4.5.3 Belohnungsfunktion
4.6 Statistik
4.7 Softwaredesign
4.7.1 Entwurfsmuster
5. Experimente und Auswertungen
5.1 Einleitung
5.1.1 Design of Experiments
5.1.2 Vermeidung von Störfaktoren
5.2 Auswahl der Experimente
5.3 Durchführung der Experimente
5.4 Analyse der Experimente
5.4.1 Abhängige Variable
5.4.2 Darstellung der Ergebnisse
5.4.3 Merkmale der Ergebnisse
5.4.4 Experiment mit Standardeinstellung
5.4.5 Variieren der Schrittgröße
5.4.6 Variieren des Diskontierungsfaktors
5.4.7 Variieren des Straffaktors
5.4.8 Variieren des No-Hit Penaltys
5.5 Wissen des Agenten
5.5.1 Der beste Zustand
5.5.2 Die meist besuchten Zustände
5.5.3 Zustandsübergänge
5.6 Co-Reinforcement Learning
6. Fazit
Zielsetzung & Themen
Die vorliegende Arbeit untersucht die Entwicklung eines Softwareagenten, der in der komplexen Umgebung des Videospiels Quake3 mittels Reinforcement Learning eigenständig ein optimales Spielverhalten erlernt, ohne dass ihm vorab explizites Expertenwissen über die Spielmechanik zur Verfügung gestellt wird.
- Grundlagen und Geschichte des Reinforcement Learnings
- Implementierung einer KI für Quake3 via Clientbot-API
- Untersuchung von Q-Learning, Monte-Carlo-Methoden und Temporal Difference Learning
- Konzeption einer geeigneten Zustandsrepräsentation durch Tracing und Gaußfilter
- Umfangreiche experimentelle Evaluation verschiedener Lernparameter wie Schrittweite und Diskontierungsfaktor
Auszug aus dem Buch
3.3.3 Exploration vs. Exploitation
In diesem Abschnitt werden nur stationäre Probleme betrachtet. Ein Lernproblem 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 restlichen wählbaren Funktionen ziehen. Bekommt der Agent eine hohe Belohnung, 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 ausführen – diese also „ausnutzen“ (englisch to exploit). Um auf lange Sicht die Summe der Belohnungen zu maximieren, muss der Softwareagent die beste 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 explorieren.
Ü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.
Zusammenfassung der Kapitel
1. Einleitung: Vorstellung der Forschungsplattform Videospiele und der zentralen Aufgabenstellung, einen Agenten mittels Reinforcement Learning zu entwickeln.
2. Verwandte Arbeiten: Übersicht über bestehende Ansätze zur KI-Entwicklung in verschiedenen Spielen wie Quake, Half-Life und Warcraft3.
3. Reinforcement Learning: Theoretische Einführung in die Kernkonzepte, Lernmethoden wie Q-Learning und die mathematischen Grundlagen hinter den Algorithmen.
4. Entwicklung des Softwareagenten: Detaillierte Beschreibung der Systemarchitektur, der Lernumgebung und der konkreten Implementierung des Quakebots.
5. Experimente und Auswertungen: Präsentation und Analyse der durchgeführten Versuchsreihen sowie Interpretation des erlernten Wissens des Agenten.
6. Fazit: Zusammenfassung der Ergebnisse, kritische Würdigung des Lernfortschritts und Ausblick auf zukünftige Forschungsmöglichkeiten.
Schlüsselwörter
Reinforcement Learning, Künstliche Intelligenz, Quake3, Softwareagent, Q-Learning, Monte-Carlo, Temporal Difference Learning, Spielumgebung, Zustandsrepräsentation, Parameteroptimierung, Agentenverhalten, Störfaktoren, Diskontierungsfaktor, Lernprozess, Spieltheorie
Häufig gestellte Fragen
Worum geht es in der Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Entwicklung eines KI-Agenten für das Ego-Shooter-Spiel Quake3, der durch Reinforcement Learning lernt, sich gegen Gegner zu behaupten.
Was sind die zentralen Themenfelder?
Die Arbeit verknüpft theoretische Reinforcement-Learning-Modelle mit der praktischen Umsetzung in der Softwareentwicklung innerhalb einer dynamischen Spielumgebung.
Was ist das primäre Ziel der Arbeit?
Das Hauptziel ist es, einen Agenten zu erschaffen, der durch spielerische Interaktion und positive wie negative Belohnung ein erfolgreiches Kampfverhalten erlernt.
Welche wissenschaftliche Methode wird verwendet?
Es werden verschiedene Methoden des Reinforcement Learnings, darunter Q-Learning, Monte-Carlo-Methoden und Temporal Difference Learning, implementiert und verglichen.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in die theoretische Fundierung, das Design und die technische Umsetzung des Agenten sowie eine umfangreiche Auswertung verschiedener Lernparameter.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit dreht sich primär um Reinforcement Learning, künstliche Intelligenz in Videospielen, Agentendesign, Strategiebewertung und experimentelle Analyse.
Wie wurde die Umgebung für den Agenten wahrnehmbar gemacht?
Der Agent nimmt seine Umwelt über ein Grid-System wahr, wobei Tracing-Verfahren und Gaußfilter eingesetzt werden, um die Zustandsmatrix zu verarbeiten.
Warum ist das "Exploration vs. Exploitation"-Dilemma hier relevant?
Der Agent muss zwischen dem Ausführen bekannter, bewährter Aktionen (Exploitation) und dem Ausprobieren neuer Strategien zur Wissenserweiterung (Exploration) abwägen, um optimal zu lernen.
Welchen Einfluss hatte der "Penalty Factor" auf das Verhalten des Agenten?
Ein hoher Penalty Factor führt zu einem defensiveren Spielstil, während ein niedrigerer Faktor den Agenten zu aggressiverem Gegnerkontakt und somit offensiverem Verhalten motiviert.
Was zeigt das Fazit bezüglich der erlernten Taktik?
Der Agent erlernt eine solide Spielweise, hat jedoch Schwierigkeiten, Gegner auf große Distanzen präzise zu bekämpfen, da die visuelle Zustandsrepräsentation in der Ferne an Genauigkeit verliert.
- 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