Minimax Improvements - #9
Merged
Merged
Conversation
Collaborator
|
Bardzo fajne wykresy i wnioski. Już wrzucam moje PR, w której trochę poprawiłem MCTS także może jakiś minimalnie inny wykres wyjdzie. Mam nadzieje, że wiele ci czasu nie zajęło ci liczenie tych wyników. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Zmieniłem element funkcji oceny pozycji dotyczący zaawansowania pionów - teraz liczone jest sumaryczne zaawansowanie, co powoduje, że teoretycznie minimax powinien stwierdzić, że bardziej opłacalne jest wyprowadzanie grup pionów do przodu a nie pojedynczego słabego piona.
Ta zmiana powoduje, że wyniki eksperymentu są bliższe spodziewanym:
Teraz MCTS dominuje Minimaxa z przeszukiwaniem 1 w 100% (bardzo dobrze), to się troszkę zmienia gdy głęokość wynosi 2 - to też ma sens i od głębokości 3 do 5 Minimax deklasuje MCTSa, bo jednak gra optymalnie z perspektywy funkcji oceny. Od głębokości 6 okazuje się, że Minimax znowu zaczyna przegrywać, ponieważ ta nasza funkcja po prostu może nie być idealna, a my w tym momencie bardzo usilnie mówimy agentowi, żeby grał zgodnie z nią, przez co przegrywa (taki trochę overfitting do funkcji oceny pozycji).
Potem w raporcie możemy albo przyciąć eksperyment na głębokość 5 albo właśnie opisać te nasze przemyślenia, bo imo całkiem ciekawe wnioski z tego są.
Dodałem jeszcze generowanie takiego wykresu, który pokazuje uśredniony czas namysłu z podziałem na głębokość przeszukiwania:
W tym przypadku wyniki są sensowne - im dłużej trwa gra, tym krótsze losowe playouty rozgrywa MCTS, więc czas namysłu stopniowo sobie opada (w przybliżeniu liniowo) - chociaż intuicyjnie na samym początku myślałem, że to będzie linia pozioma