13. Gehe zu 3.
14. Gehe zu 2. solange Lernschrittzähler Soll nicht erreicht
- Temperaturänderung und Aktionswahl
Die Temperatur wird zur Umsetzung der sogenannten Boltzmannmaschine benötigt. Diese dient der späteren Aktionswahl. Das Prinzip ist sehr einfach. Zu Beginn hat das System (der Algorithmus) eine sehr hoch initialisierte Temperatur T. Je höher diese Temperatur ist, desto größer ist die Rolle des Zufalls bei der Auswahl der Aktion. Am Anfang ist also viel Zufall im Spil, was auch berechtigt ist, sind doch die Q-Werte noch nicht sehr aussagekräftig, d.h. zufällig initialisiert. Mit jedem Spiel wird die T allerdings
durch den Faktor ∆T<1 heruntergefahren, was zum Ende hin eine Auswahl des größten Q-Wertes entspricht.
= ⋅ ∆ T T T
Die Temperaturänderungsrate ( ∆T) wird zuvor so berechnet, so dass die Temperatur ( T) in einer
vorgegebenen Zahl von Lernschritten (S) auf ihr Minimum (z.B. 0.002) abkühlt. = ⋅ ∆T e S startT . 1 0 002 ( ln( ))
Nun direkt zu den Gleichungen für die Boltzmann-Maschine. Für jede mögliche Aktion wird eine Wahrscheinlichkeit für die Auswahl mit Hilfe der jeweiligen Q-Werte (w) errechnet:
Für T→∞ ist diese Wahrscheinlichkeit P unabhängig von den Q-Werten und somit für jede Aktion gleich groß. Für T→0 wird der Einfluß der Q-Werte noch verstärkt. Diese Wahrscheinlichkeiten ergeben in der Summe 1. Jede einzelne dieser bezeichnet also einen mehr oder weniger oder auch gleich großen Intervall zwischen 0 und 1.
Nun wird eine Zufallszahl im Intervall (0;1) initialisiert ind je nachdem in welchen „Wahrscheinlichkeitsbereich“ diese Zahl fällt, wird die zugehörige Aktion ausgewählt. Aufgrund der Gleichverteilung der Bereiche bei hohen Temperaturen gleicht es anfänglich einer Zufallsauswahl.
- Kodierung der Situation
Die Situation wird in einem Array von 9 Elementen (für jedes Feld eines) gespeichert. Wobei die Elemente die Werte 0 (frei), 1 (Spieler I) und 2 (Spieler II) annehmen können. Die Situation wird kodiert, indem eine eineindeutige Zahl mit 3 Grundziffern, eben 0,1 und 2, erzeugt wird.
Z.B. wenn Spieler I das Spielfeld 1 besetzt und der Rest des Spielfeldes noch frei ist, dann wäre der Situationscode 100 000 000. Würde Spieler II danach die 5 besetzen, dann wäre er 100 020 000. Dieser Code wird dann in eine Dezimalzahl umgewandelt (was wiederum eineindeutig ist) und entspricht dann der Zeilennummer in der „Tabelle“ der Q-Werte in der Datei.
- Die Bewertung der Situation - die Q-Werte
Wie schon erwähnt werden nach jedem Spielzug die Q-Werte verändert, sie werden gewichtet. Diese Wichtung passiert so, dass wenn ein Zug zum Sieg führt er aufgewertet wird, d.h. die Q-Werte und somit die Wahrscheinlichkeit für die Aktionswahl erhöht werden. Bei einer Niederlage entsprechend abgewertet. Doch wie werden Züge mitten im Spiel gewichtet? Nun man versucht zu bestimmen welche Möglichkeiten (Q-Werte) im nächsten Zug (mit der neuen Situation) vorhanden sind, also nach dem Maximum zu suchen dessen Aktion am ehesten zum Sieg führt. Man lässt allerdings nicht jede Aktion „durchprobieren“, sondern man verlässt sich auf die Aktionswahl. Nachdem der vermeintliche Gegner seinen Zug vollendet hat, liegt dem Algorithmus eine neue Situation und damit neue Q-Werte vor. Wie schon erwähnt stellt das Maximum die größte Chance auf einen Sieg dar. Nun wird der Q-Wert der vorangegangenen Aktion folgendermaßen abhängig von diesem Maximum verändert: neu = + ⋅ + ⋅ − α γ w w r w w ( max( ') )
w neu stellt hierbei den neuen Q-Wert für die vorangegangene Aktion dar, w den alten. max(w’) ist das
Maximum der Q-Wert der Situation nach dem gegnerischen Zug. α (empfohlen 0.5) und γ (empfohlen 0.9)
sind Parameter, die die Lerngeschwindigkeit bzw. den Einfluss des Maximums darstellen. r ist das schon beschriebene Reinforcement.
- Die Endbewertung
Die Endbewertung läuft nach denselben Gleichungen ab, wie jede einzelne vorangegangene Bewertung auch. Nur wie ist das Q-Wert-Maximum der nächsten Situation wenn das Spiel beendet ist? Nun es entspricht bei Sieg dem Grenzwert der Q-Werte, um einen optimalen Lernvorgang zu gewährleisten. Hier die Herleitung der Maximumsberechnung: = + ⋅ + ⋅ − α γ
(d.h. w neu geht gegen -(r/(γ-1)), hier liegt nur eine vereinfachte Schreibweise vor)
Arbeit zitieren:
Sven Hubert, 2000, Umsetzung einer KI für das Spiel "TicTacToe" mit Hilfe von Reinforcement- oder Q-learning, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Sven Hubert hat den Text Umsetzung einer KI für das Spiel "TicTacToe" mit Hilfe von Reinforcement- oder Q-learning veröffentlicht
Sven Hubert hat einen neuen Text hochgeladen
0 Kommentare