9

Ich konnte nicht verstehen, wie Q Werte für Tic Tac Toe Spiel aktualisiert werden. Ich habe alles darüber gelesen, aber ich konnte mir nicht vorstellen, wie ich das machen soll. Ich lese, dass Q-Wert am Ende des Spiels aktualisiert wird, aber ich habe nicht verstanden, wenn Q-Wert für jede Aktion ist?Q Lernalgorithmus für Tic Tac Toe

Antwort

6

Sie haben einen Q Wert für jedes Zustandsaktionspaar. Sie aktualisieren einen Wert von Q nach jeder ausgeführten Aktion. Genauer gesagt, wenn a1 aus staatlichen Handelns Anwendung s1 Sie in den Zustand bekommt s2 und bringt Ihnen eine Belohnung r, aktualisieren Sie dann Q(s1, a1) wie folgt:

Q(s1, a1) = Q(s1, a1) + learning_rate * (r + discount_factor * max Q(s2, _) - Q(s1, a1)) 

In vielen Spielen wie Tic-Tac-Toe Sie don‘ Bis zum Ende des Spiels erhalten Sie Belohnungen, deshalb müssen Sie den Algorithmus durch mehrere Episoden laufen lassen. Auf diese Weise werden Informationen über den Nutzen von Endzuständen in andere Zustände übertragen.

+0

Dank für Ihre Antwort danken . Aber ich kann das Q-Lernen für Tic Tac Toe nicht verstehen. Du hast gesagt, dass du bis zum Ende des Spiels keine Belohnungen bekommst. Ich hab es geschafft. Bu Ich kann das nicht verstehen, wie Maschine erste Handlung entscheidet? Zum Beispiel setze ich "X" und Maschine wird "O" setzen.Wie die Maschine entscheidet, wo sie dieses "O" setzen soll, weil ich weiß, dass es nur einen Q-Wert für das komplette Spiel gibt. – bzkrtmurat

+1

Tic-Tac-Toe ist ein Zwei-Spieler-Spiel. Beim Lernen mit Q-Learning braucht man einen Gegner, gegen den man beim Lernen spielen kann. Das bedeutet, dass Sie einen anderen Algorithmus implementieren müssen (z. B. Minimax), sich selbst spielen oder einen anderen Verstärkungslernagenten verwenden (möglicherweise derselbe Q-Learning-Algorithmus). –

+2

Um zu entscheiden, welche Aktion in einem bestimmten Status ausgeführt werden soll, benötigen Sie eine Richtlinie. Eine gängige Option bei der Implementierung von Q-Learning ist die Verwendung von Epsilon-Greedy (mit einem verfallenden Epsilon), das den Kompromiss zwischen Exploration und Nutzung berücksichtigt. –

2

Das Problem mit dem Standard-Q-Lernalgorithmus ist, dass es einfach zu lange dauert, die Werte vom letzten zum ersten Zug zu propagieren, weil man das Ergebnis des Spiels erst am Ende kennt.

Daher sollte der Q Learning-Algorithmus geändert werden. Der folgende Beitrag gibt einige Details über mögliche Änderungen:

  1. ein nicht negativ Belohnung nach dem Spiel endet, gegeben ist (mit Ausnahme der Auslosung), dann die Q-Updates nicht bei jedem Handlungsschritt ausgeführt (was ändert sich nichts), aber erst nach dem Ende des Spiels
  2. das Q-Updates durch ausbreiten seinen neuen Wertes aus dem letzten Zuge rückwärts zum ersten Schritt
  3. eine weitere Update Formel auch wegen der durchgeführt wird, eingebaut, den die Gegner Sicht betrachtet umdrehende Natur des Spiels mit zwei Spielern

Abstract:

Dieses Papier berichtet unser Experiment auf Q-Lernalgorithmus für Anwendung Lernen Tic-Tac-Toe zu spielen. Der ursprüngliche Algorithmus wird durch geändert, wobei der Q-Wert nur aktualisiert wird, wenn das Spiel beendet wird, wobei der -Aktualisierungsprozess von der letzten Bewegung zurück zur ersten Bewegung weitergegeben wird und eine neue Aktualisierungsregel enthält. Wir evaluieren die Agent-Performance unter Verwendung von Voll- und Teilboard-Darstellungen. In dieser Auswertung spielt der Agent das Tic-Tac-Toe-Spiel gegen menschliche Spieler. Die Auswertungsergebnisse zeigen, dass die Leistung des modifizierten Lernalgorithmus mit Partial-Board-Darstellung mit der von menschlichen Spielern vergleichbar ist.

Learning to Play Tic-Tac-Toe (2009) by Dwi H. Widyantoro & Yus G. Vembrina

(Leider ist es hinter einem paywall Entweder Sie Zugriff auf das IEEE-Archiv haben oder Sie können die Autoren bitten, eine Kopie auf Researchgate zur Verfügung zu stellen. https://www.researchgate.net/publication/251899151_Learning_to_play_Tic-tac-toe)

Verwandte Themen