9

Nie mogłem zrozumieć, jak zaktualizować wartości Q dla gry w kółko i krzyżyk. Czytałem o tym wszystkim, ale nie mogłem sobie wyobrazić, jak to zrobić. Czytałem, że wartość Q jest aktualizowana na końcu gry, ale nie rozumiem, że jeśli dla każdej akcji występuje wartość Q?Q Algorytm uczenia się dla Tic Tac Toe

Odpowiedz

6

Masz wartość Q dla każdej pary stanów stanu. Po każdej wykonanej akcji aktualizujesz wartość o Q. Dokładniej, jeśli zastosowanie działań a1 od stanu s1 dostaje się do stanu s2 i przynosi jakąś nagrodę r, a następnie zaktualizować Q(s1, a1) następująco:

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

W wielu grach, takich jak Kółko i krzyżyk don” • Otrzymuj nagrody do końca gry, dlatego musisz uruchomić algorytm w kilku odcinkach. W ten sposób informacje o użyteczności stanów ostatecznych są propagowane do innych państw.

+0

dziękuję za odpowiedzi . Ale nie rozumiem, jak uczę się Q na kółko i krzyżyk. Powiedziałeś, że nie dostaniesz nagrody do końca gry. Mam to. Bu Nie rozumiem, jak maszyna decyduje o pierwszym działaniu? Na przykład wstawiam "X", a maszyna wstawi "O".Jak maszyna decyduje, gdzie umieścić to "O", ponieważ rozumiem, że istnieje tylko jedna wartość Q dla pełnej gry. – bzkrtmurat

+1

Kółko i krzyżyk to gra dwuosobowa. Podczas nauki za pomocą Q-Learning potrzebujesz przeciwnika do gry przeciwko nauce. Oznacza to, że musisz zaimplementować inny algorytm (np. Minimax), grać samemu lub użyć innego uczącego się wzmacniania (może to być ten sam algorytm uczenia Q-learning). –

+2

Aby zdecydować, które działanie podjąć w określonym stanie, potrzebujesz polityki. Powszechną opcją przy wdrażaniu Q-Learning jest użycie epsilon-chciwy (z rozkładającym się epsilonem), który uwzględnia kompromis pomiędzy eksploracją a eksploatacją. –

2

Problem ze standardowym algorytmem Q Learning polega na tym, że rozprzestrzenianie wartości od ostatniego do pierwszego ruchu trwa zbyt długo, ponieważ znasz tylko wynik gry na końcu.

Dlatego algorytm uczenia się Q powinien zostać zmodyfikowany. Poniższy dokument zawiera kilka szczegółów na temat możliwych zmian:

  1. non ujemny nagroda zostanie wydana po zakończeniu gry (za wyjątkiem remisu), wtedy aktualizacje Q nie jest wykonywana na każdym kroku działania (który nic nie zmienia), ale dopiero po zakończeniu gry
  2. aktualizacje Q jest wykonywana przez propagowanie jego nową wartość z ostatniego ruchu wstecz do pierwszego ruchu
  3. inna formuła aktualizacji jest włączona, które również uważa punkt przeciwnikiem widzenia, ponieważ z zwrotny charakter gry dwuosobowej

Streszczenie:

Ten papier donosi nasz eksperyment na zastosowaniu algorytmu uczenia Q dla nauka gry Kółko i krzyżyk. Oryginalny algorytm jest modyfikowany przez aktualizowanie wartości Q tylko po zakończeniu gry, propagowanie procesu aktualizacji od końcowego przejścia wstecz do pierwszego ruchu i z uwzględnieniem nowej reguły aktualizacji. Oceniamy wydajność agenta przy użyciu pełnych i częściowych prezentacji płyt. W tej ocenie agent odtworzy grę w kółko i krzyżyk przeciwko graczom ludzkim . Wyniki oceny pokazują, że działanie zmodyfikowanego algorytmu uczenia się z częściową deską rozdzielczą jest porównywalne do liczby graczy ludzkich.

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

(Niestety to za paywall Albo masz dostęp do IEEE archiwum lub można poprosić autorów dostarczyć kopię na ResearchGATE. https://www.researchgate.net/publication/251899151_Learning_to_play_Tic-tac-toe)

Powiązane problemy