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
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.
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:
- 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
- aktualizacje Q jest wykonywana przez propagowanie jego nową wartość z ostatniego ruchu wstecz do pierwszego ruchu
- 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)
- 1. Twist na Tic Tac Toe
- 2. Quantum Tic-Tac-Toe AI
- 3. NodeJS Tic Tac Toe multiplayer Gra
- 4. Tic Tac Toe - Wykrywanie wygranej, przegranej lub remisu
- 5. Logiczne błędy, sprawdzanie zwycięzcy w Tic Tac Toe
- 6. Perceptron algorytm uczenia się nie zbiegają do 0
- 7. Najlepszy algorytm uczenia się, aby drzewo decyzyjne w java?
- 8. Etapy uczenia się dla algorytmu rozpoznawania obrazu
- 9. Czy rozmiar zbioru danych wpływa na algorytm uczenia maszynowego?
- 10. NLP/Porównanie tekstów maszynowego uczenia się
- 11. Orzeźwiające dane treningowe dla nadzorowanego uczenia się - jak?
- 12. Wybór funkcji uczenia się naukowego dla danych regresji
- 13. C#/Strategia uczenia się sieci Web
- 14. Matlab tic toc dokładność
- 15. Wtyczka Q & A dla Confluence
- 16. Jaki jest najlepszy sposób uczenia się WCF?
- 17. Szablony uczenia się w języku C++
- 18. Żądanie uczenia się maszyny Azure opóźnienie odpowiedzi
- 19. Którą ścieżkę uczenia się muszę wykonać, aby nauczyć się ASP.NET?
- 20. Jak ustawić szybkość uczenia adaptacyjnego dla GradientDescentOptimizer?
- 21. C/C++ Biblioteki uczenia maszynowego dla klastrowania
- 22. Matlab tic równoważne w C++
- 23. Algorytm dla div kerningu
- 24. R - Paralelizacja uczenia się wielu modeli (z dplyr i purrr)
- 25. Wykres Q-Q z ggplot2 :: stat_qq, colours, single group
- 26. Jak ustawić szybkość uczenia się warstwy w Tensorflow?
- 27. Bezkresowy wzrost Q-wartości, konsekwencja powtarzającej się nagrody po powtórzeniu tego samego działania w Q-Learning
- 28. Algorytm złożoności czasu Euclida
- 29. Algorytm tfidf dla Pythona
- 30. Php biblioteka uczenia maszynowego?
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
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). –
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ą. –