Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie...

21
Instytut Badań Systemowych Polskiej Akademii Nauk Streszczenie rozprawy doktorskiej Meta-heurystyczne metody adaptacyjne bazujące na symulacjach w synchronicznych grach wieloosobowych. Mgr inż. Maciej Świechowski Promotor: Prof. dr hab. inż. Jacek Mańdziuk WARSZAWA 2015

Transcript of Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie...

Page 1: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Instytut Badań SystemowychPolskiej Akademii Nauk

Streszczenie rozprawy doktorskiej

Meta-heurystyczne metody adaptacyjnebazujące na symulacjach w synchronicznych grach

wieloosobowych.

Mgr inż. Maciej Świechowski

Promotor: Prof. dr hab. inż. Jacek Mańdziuk

WARSZAWA 2015

Page 2: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

1 Obszar tematyczny rozprawy

1.1 Wstęp

Niniejsza rozprawa wpisuje się w obszar badań nad Sztuczną Inteligencją (SI) w zakresie opra-cowywania programów samodzielnie grających w tzw. gry umysłowe. Gry umysłowe określanesą również jako abstrakcyjne gry kombinatoryczne lub matematyczne, które intelektualnie an-gażują ludzkie umysły. Przykładami są Szachy, Warcaby czy Go. Gry jako dziedzina badańwzrastała w popularność od lat 50 dwudziestego wieku wraz z pojawieniem się pierwszychprac [1], [2]. Jednakże konstrukcja autonomicznych maszyn grających fascynowała ludzkieumysły już dużo wcześniej [3]. W pracy [4] czytamy, że gry matematyczne dostarczają na-rzędzia do studiowania inteligentnego zachowania w modelach bazujących na świecie rzeczy-wistym lub na ograniczonych domenach sztucznych. Gry jako tanie, powtarzalne, determini-styczne i ściśle zdefiniowane środowisko testowe stanowią dobre narzędzie do badań nauko-wych. Dodatkową motywacją bywa chęć rozwiązania samej gry lub powiększenia o niej wiedzy.Kolejną motywacją, rzadziej spotykaną w badaniach naukowych, jest potrzeba skonstruowaniasilnego przeciwnika dla graczy w celach dydaktycznych lub rozrywkowych.

Wraz ze wzrostem mocy obliczeniowych komputerów, człowiek przestał dorównywać jużgraczom komputerowym w wielu grach (np. Szachy [5]) lub wręcz nie ma najmniejszych szanswygrać, jeżeli dana gra została rozwiązana (np. Warcaby [6]). Chociaż maszyny dominują nadludźmi w wyżej wspomnianych grach, nie można jednak powiedzieć, żeby komputery stałysię bardziej inteligentne. Silne programy są najczęściej połączonym wysiłkiem konsultantów(ekspertów w danej grze), programistów i inżynierów (optymalne wykorzystanie mocy obli-czeniowych). Ciężko uznać programy grające za “inteligentne”. Obserwacje te przyczyniły siędo upowszechnienia nowego podejścia tzw. “multi-game playing”, które polega na tworzeniuuniwersalnych programów potrafiących grać w wiele gier.

1.2 Problem badawczy

Problemem rozpatrywanym w pracy jest tworzenie agentów (programów komputerowych) po-trafiących dobrze grać w dowolne gry. To podejście znacznie różni się od konstrukcji graczadedykowanego i zoptymalizowanego pod daną grę. Konstrukcja uniwersalnych graczy wydajesię być bliższa pierwotnym celom Sztucznej Inteligencji. W programach muszą być zawartemetody analizy gier, a nie tylko wynik tej analizy, ponieważ nie ma możliwości skorzystaniaz wiedzy eksperckiej w trybie off-line. Reguły gry są parametrem wykonywanego programui mogą być nieznane wcześniej. Agenci muszą integrować wiele aspektów, takich jak repre-zentacja i ekstrakcja wiedzy, uczenie, rozumowanie strategiczne czy wydajne przeszukiwanieprzestrzeni stanów. Aspekty te nie są wyłączną domeną gier, więc istnieje możliwość zastoso-wania opracowanych metod także w innych dziedzinach.

W tym momencie możemy uzasadnić tytuł pracy. Zaproponowany w pracy gracz jest wie-lopoziomowym algorytmem, który stosowany jest do rozwiązywania wielu problemów (gier).Na najwyższym poziomie zastosowany jest algorytm przeszukiwania drzewa metodą MonteCarlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na najniższym poziomie sąkonkretne strategie gry. Stąd całościowe podejście uznajemy za meta-heurystyczne.

Słowo synchroniczne w tytule pracy oznacza, że aktualizacja stanu w grze odbywa się wustalonych momentach, w których wybrane przez graczy akcje są równocześnie wykonywane

1

Page 3: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

(synchronizacja realizacji akcji i zmiany stanu). Każdy gracz musi wykonać akcję. Nie jestto jednak istotne ograniczenie, bo gry turowe są łatwo symulowane przez wprowadzenie wregułach gier akcji, które nie mają żadnych skutków (noop, z ang. no operation). Wszelkiezmiany stanu niezależne od graczy mogą być również symulowane przy pomocy akcji nooporaz dodatkowych reguł faktycznie wpływających na zmianę stanu. Klasa gier odnosi się wpracy do dowolnych gier, które są skończone, deterministyczne i z pełną informacją.Oznacza to, że musi być skończona liczba graczy, stanów oraz akcji dostępnych w każdymstanie. Gra musi zakończyć się po skończonej, lecz dowolnie dużej, liczbie kroków. Reguły niemogą zawierać losowości (np. rzutu kostką) a każdy gracz ma dostęp do pełnej informacji natemat stanu gry, a więc nie ma możliwości definiowania gier typu Poker, gdzie część informacjijest ukryta.

1.2.1 General Game Playing

General Game Playing [7] (GGP) to projekt zaproponowany przez grupę prof. Genesereth’ana Uniwersytecie Stanforda. Jest to najnowsze powszechnie znane wcielenie idei tworzeniauniwersalnych programów grających. Uwzględnia on szczegółową specyfikację i definicję sto-sowanego języka do opisu gier (ang. Game Description Language (GDL)). Z natury językaGDL wynika opisane wcześniej ograniczenie do gier skończonych, deterministycznych i z pełnąinformacją. Centralnym i bardzo istotnym elementem ekosystemu GGP jest coroczny konkurs,otwarty dla uczestników z całego świata, który jest okazją do weryfikacji swoich rozwiązań.Naturalnie zwycięzcy konkursu czyli de facto mistrzowie świata GGP w poszczególnych la-tach definiują trendy badawcze oraz aktualny stan wiedzy. Przyjęło się, że programy startująjako tabula rasa i nie posiadają wiedzy specyficznej dla danej gry. Nie ma również żadnejinterwencji człowieka podczas rozgrywki. Każdy agent GGP jest z technicznego punktu wi-dzenia serwerem, do którego podłącza się komponent zwany Game Manager (GM) zarządzanyprzez organizatorów mistrzostw. Gracze komunikują się jedynie z GM przy pomocy protokołuHTTP i ustalonych typów wiadomości. Najważniejsze z nich to START i PLAY. Pierwsza wy-syłana jest jednorazowo na początku rozgrywki i zawiera reguły gry, identyfikator rozgrywki,przypisaną danemu graczowi rolę w grze oraz dwa czasy START-clock i PLAY-clock, któreodpowiednio oznaczają czas na wstępną analizę oraz czas na wykonanie każdego ruchu. Za-daniem GM jest wysyłanie i odbieranie wiadomości oraz pilnowanie poprawności rozgrywki.Jeżeli dany gracz nie odpowie na czas lub zgłosi nieprawidłowy ruch, to zostanie to wykrytejako błąd. GM wybiera wtedy losowy legalny ruch danego gracza a po przekroczeniu ustalonejliczby błędów, dyskwalifikuje go.

Rozprawa doktorska podejmuje temat konstrukcji uniwersalnego agenta zgod-nego ze specyfikacją General Game Playing.

2

Page 4: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

2 Cele i osiągnięcia badawcze rozprawy

2.1 Cele badawcze

Główne cele badawcze to:

1. Rozwiniecie stanu wiedzy w zakresie GGP oraz przeszukiwania drzewa gry metodąMonte Carlo (ang. Monte Carlo Tree Search (MCTS)). Kierunkiem podjętym w pracybyło zaaplikowanie wiedzy do sterowania symulacjami w bezpieczny sposób, aby unik-nąć kategorycznego przywiązania do heurystyki, która może być nieadekwatna do danejgry. Wybranym rozwiązaniem jest zbiór lekkich strategii, które wspomagają symulacjeMonte Carlo. Strategie są oceniane na bieżąco (automatycznie przez algorytm) a sys-tem uczy się, które są warte częstszego wykorzystania. Ten sposób aplikacji wiedzy jestwzględnie defensywnym podejściem, ponieważ zachowana jest natura algorytmu MCTSpolegająca na empirycznej nauce przez symulacje. Podejście jest dostatecznie ogólne, abymogło być stosowane również w innych dziedzinach nauki. Naszym celem jest zwiększe-nie skuteczności gry regularnego gracza state-of-the-art bazującego na MCTS.

2. Zaprojektowanie i implementacja kompletnego gracza GGP, aby z powodzeniem wziąćudział w oficjalnych mistrzostwach GGP organizowanych przez Uniwersytet Stanforda.

3. Osiągnięcie lepszego średniego wyniku gry niż publicznie dostępna wersja (z 2012 roku)gracza CadiaPlayer [8] [9].

4. Skonstruowanie interpretera języka opisu gier (ang. Game Description Language (GDL) [10]),który będzie umożliwiał wykonywanie symulacji Monte Carlo z wysoką wydajnością.

5. Zaproponowanie i ocena metod przeprowadzania symulacji w GGP w środowiskachrównoległych.

2.2 Tezy postawione w rozprawie

W rozprawie postawiono i zweryfikowano następujące tezy:

� Możliwe jest stworzenie uniwersalnego agenta (gracza niezależnego od konkretnej gry),który potrafi grać na wysokim poziomie w dowolne gry określonego typu - skończone,deterministyczne z pełną informacją - przy założeniu, że agent otrzymuje jedynie for-malny opis reguł gry przy pomocy języka logiki. Wysoki poziom zdefiniowany jest jakojednocześnie (1) - osiągnięcie lepszego rezultatu w bezpośrednim porównaniu z silnymgraczem referencyjnym - CadiaPlayer oraz (2) - wygrywanie co najmniej 90% gier (przy95% poziomie ufności próby statystycznej) przeciwko graczowi Rand 1-ply, który wy-konuje przeszukiwanie drzewa na 1 ruch do przodu w celu wykrycia akcji bezpośredniowygrywających i przegrywających. Akcje wygrywające są zagrywane w pierwszej ko-lejności, akcje przegrywające są unikane, jeżeli to możliwe. W przeciwnym przypadkugracz wykonuje losowe akcje.

� W środowisku GGP możliwe jest usprawnienie uniwersalnego gracza opartego na algo-rytmie MCTS/UCT i losowych symulacjach poprzez dodanie portfolia strategii (politykgry) i efektywnego mechanizmu selekcji właściwej polityki aby sterować symulacjami.

3

Page 5: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

2.3 Główne osiągnięcia

Nowe strategie GGP: proponujemy i weryfikujemy trzy nowe strategie (heurystyki) wspo-magające algorytm MCTS. Pierwsza z nich to statystyczne zliczanie symboli (ang. StatisticalSymbols Counting (SSC)), druga to heurystyka eksploracyjna (ang. Exploration), natomiasttrzecia opiera się na wykrywaniu reguł związanych z punktacją w grze. Dodatkowo wykorzy-stujemy w programie dwie standardowe metody symulacji (strategia losowa oraz heurystykahistoryczna), adaptujemy ocenę stanów gry opartą na mobilności graczy oraz obliczaniu stop-nia spełnienia warunków zwycięstwa gry (ang. Approximate Goal Evaluation (AGE)). Ostat-nia heurystyka została z powodzeniem zastosowana w GGP [11], a zaproponowana w pracywersja jest jej usprawnieniem.

Koncepcja strategii abstrakcyjnej: wprowadzenie uniwersalnego formalizmu definiu-jącego “strategię” wspomagania symulacji Monte Carlo. Abstrakcyjna strategia pozwala pro-jektantom/programistom na definiowanie dowolnej liczby konkretyzacji strategii, które mogąbyć automatycznie uwzględniane przez gracza. Implementacja symulacji Monte Carlo jestlogicznie odseparowana od implementacji konkretnych strategii.

Dynamiczna adaptacja strategii: zaproponowanie mechanizmu ciągłej oceny strategiii doboru właściwej do przeprowadzenia kolejnej symulacji. Rozpatrzone zostały cztery spo-soby realizacji takiego mechanizmu i zidentyfikowany najefektywniejszy z nich. Podejście jest,zgodnie z naszą orientacją, nowatorskie.

Wydajny interpreter GDL: stworzony został autorski interpreter (silnik inferencji re-guł) dla języka opisu gier GDL. Wykazano przewagę dedykowanego interpretera nad Yet Ano-ther Prolog (YAP) [12] oraz ECLiPSE Prolog [14]. Są to dwie najpopularniejsze (w obszarzegier i GGP) implementacje języka Prolog [13].

Nowa metoda zrównoleglenia: opracowana została nowa metoda zrównoleglenia algo-rytmu MCTS w kontekście gracza GGP. Łączy ona zalety metody Tree Parallelization [15]oraz Root Parallelization [16] i zoptymalizowana jest na użycie wielu komputerów klasy konsu-menckiej. Unikalną cechą podejścia jest ograniczenie przeszukiwania drzewa na poszczególnychmaszynach.

MINI-Player: stworzony przez nas gracz, nazwany MINI-Player, był pierwszym polskimgraczem GGP (ex-aequo z Magician [17]), który uczestniczył w mistrzostwach i samodzielniepierwszym, który osiągnął finałowy etap tych mistrzostw (w 2012 roku). To osiągnięcie zo-stało powtórzone w 2014 roku, lecz tym razem dołączył do nas kolejny polski gracz o nazwieDumalion [18].

2.4 Publikacje

Większość osiągnięć i myśli zawartych w rozprawie zostało opublikowanych w niniejszychpracach:

1. M. Świechowski, K. Merrick, J. Mańdziuk and H. Abbass, “Human-Machine Coopera-tion Loop in General Game Playing”, International Journal On Advances in IntelligentSystems, vol. 8, number 3-4, 2015 (zaakceptowany do publikacji).

2. M. Świechowski, H-S. Park, J. Mańdziuk and K-J. Kim, “Recent Advances in GeneralGame Playing”, The Scientific World Journal, vol. 2015, Article ID 986262, 22 pages,2015. doi:10.1155/2015/986262

4

Page 6: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

3. M. Świechowski, J. Mańdziuk and Y.S. Ong, “Specialization of a UCT-based GeneralGame Playing Program to Single-Player Games”, IEEE Transactions on ComputationalIntelligence and AI in Games, doi: 10.1109/TCIAIG.2015.2391232, 2015 (zaakceptowanydo publikacji).

4. M. Świechowski and J. Mańdziuk, “Fast Interpreter for Logical Reasoning in GeneralGame Playing”, Oxford Journal of Logic and Computation, doi: 10.1093/logcom/exu058,2014.

5. M. Świechowski and J. Mańdziuk, “Self-Adaptation of Playing Strategies in GeneralGame Playing”, IEEE Transactions on Computational Intelligence and AI in Games,vol. 6(4), pp. 367-381, IEEE Press, doi: 10.1109/TCIAIG.2013.2275163, 2014.

6. M. Świechowski, K. Merrick, J. Mańdziuk and H. Abbass, “Human-Machine Coopera-tion in General Game Playing”, 8th International Conference on Advances in Computer-Human Interactions, pp. 96-100, 2015.

7. M. Świechowski and J. Mańdziuk, “Specialized vs. Multi-game Approaches to AI inGames”, Intelligent Systems ’2014, Springer International Publishing, p. 243-254, 2014.

8. M. Świechowski and J. Mańdziuk, “Prolog versus Specialized Logic Inference Engine inGeneral Game Playing”, Proceedings of IEEE Conference on Computational Intelligenceand Games, p. 36-43, 2014.

9. J. Mańdziuk and M. Świechowski, “Generic Heuristic Approach to General Game Play-ing”, Lecture Notes in Computer Science 7147(2012), pp. 649-660, 2012.

2.5 Organizacja rozprawy

Praca liczy 134 numerowane strony i podzielona jest na 7 rozdziałów oraz 3 dodatki. Pierw-szy rozdział stanowi wstęp i omówienie problemu badawczego. W drugim rozdziale zawartesą podstawy teoretyczne takie jak opisy GGP oraz GDL, które są niezbędne do zrozumie-nia pracy. Rozdział ten zawiera również opis bazowego algorytmu przeszukiwania drzewa grymetodą Monte Carlo. Rozdziały 3-6 opisują kolejno nowatorskie metody zaproponowane wpracy. Opis poszczególnych heurystyk, adaptacyjna metoda ich wyboru oraz wyniki ekspery-mentalne gracza GGP są zawarte w Rozdziale 3, który jest głównym rozdziałem pracy. Kolejnerozdziały są poświęcone odpowiednio dostosowaniu podejścia do gier jednoosobowych (Roz-dział 4), zrównolegleniu obliczeń związanych z symulacjami i budowaniem drzewa (Rozdział5) oraz wydajnemu interpreterowi języka GDL (Rozdział 6). Ostatni rozdział dedykowanyjest podsumowaniu, dyskusji na temat stosowalności zaproponowanych metod w innych dzie-dzinach a także planach rozwoju podejścia. Dodatki A i B rozszerzają Rozdział 6 o szczegółytechniczne, natomiast Dodatek C zawiera 17 wykresów na temat użycia poszczególnych stra-tegii w symulacjach w dedykowanym eksperymencie.

5

Page 7: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

3 Streszczenie metod realizacji postawionych celów

3.1 Algorytm MCTS

Metody opisywane w Rozdziałach 3-5 bazują i rozszerzają podstawowy algorytm przeszuki-wania drzewa - MCTS. Ideą algorytmu MCTS jest iteracyjne przeszukiwanie drzewa gry iaktualizacja statystyk przechowywanych dla każdej akcji (krawędzi w drzewie): Q - zdefinio-wane jako średni wynik uzyskany podczas działania algorytmu (przechowywane dla każdegogracza osobno) oraz N - liczba wyborów danej akcji.

Pojedyncza iteracja algorytmu składa się z czterech faz pokazanych na Rysunku 1:

1. Selekcja. Wystartuj z węzła korzenia i wybieraj kolejno najlepsze węzły potomne ażdotrzesz do liścia.

2. Rozbudowa. Jesteś w liściu. Jeżeli stan gry przechowywany w tym węźle nie jest termi-nalny, wybierz akcję, która spowoduje wyjście poza drzewo przechowywane w pamięci.Utwórz nowy węzeł liścia dla stanu, do którego ta akcja prowadzi i dodaj go jako po-tomka bieżącego węzła.

3. Symulacja. Wystartuj z nowo dodanego węzła i przeprowadź pełną symulację gry(Monte Carlo) aż do osiągnięcia stanu terminalnego.

4. Propagacja wsteczna. Pobierz wynik symulacji - wektor wypłat dla graczy. Uaktu-alnij statystyki (średni wyniki, liczba wizyt) dla wszystkich akcji odwiedzonych w fazieSelekcji oraz Rozbudowy. Liczba wizyt w stanie gry jest tożsama z sumaryczną liczbąwyborów akcji, które do tego stanu prowadzą.

Rysunek 1: Cztery fazy algorytmu MCTS.

W fazie selekcji algorytmu stosowana jest metoda, która wybiera najlepszą akcję jakokompromis między akcją statystycznie najlepszą (eksploatacja) a najsłabiej przesymulowaną

6

Page 8: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

(eksploracja). W tym celu stosowany jest algorytm UCT (ang. Upper Confidence BoundsApplied for Trees (UCT)):

a∗ = arg maxa∈A(s)

{Q(s, a) + C

√ln [N(s)]N(s, a)

}(1)

gdzie s jest bieżącym stanem (węzłem); a jest akcją w tym stanie; A(s) jest zbiorem akcjidostępnych w stanie s; Q(s,a) jest średnią oceną wyboru akcji a w stanie s; N(s) jest liczbądotychczasowych wizyt w stanie s; N(s,a) oznacza ile razy akcja a była wybrana w stanies; C jest stałą eksploracji.

Gdy upłynie czas dostępny na wykonanie ruchu, wtedy wybierana jest akcja z najwyższąoceną Q dla roli gracza, którą gra nasz program.

3.2 Metaheurystyka strategii

Termin strategia oznacza tu algorytm wyboru akcji podczas fazy symulacji algorytmu MCTS.Może być wymiennie stosowany z polityką wyboru akcji lub heurystyką. W rozprawie zapropo-nowanych zostało siedem strategii oraz mechanizm wyboru strategii do danej symulacji MonteCarlo, stąd podejście można nazwać meta-heurystycznym. Rozdział 3.2 definiuje koncepcję“abstrakcyjnej strategii” jako usystematyzowane uogólnienie strategii. Koncept “abstrakcyjnejstrategii” można porównać do bazowego obiektu w polimorficznych językach programowania,z którego mogą dziedziczyć obiekty pochodne. Strategia jest używana i zarządzana indywidu-alnie dla każdego gracza występującego w grze. Oznacza to, że wszelkie statystyki, z którychstrategia korzysta, a które zależą od gracza, wyliczane są indywidualnie. Ponieważ w GGPnie ma ustalonej liczby graczy, wymogu sumy zerowej ani nawet współzawodniczenia, należyzatem wyliczać statystyki typu średni wynik lub korelacja z wygraną niezależnie dla każdegoz graczy.

Symulacja, nawet jeśli przeprowadzona jest przy pomocy deterministycznych strategii,nie jest deterministyczna. W każdym kroku symulacji akcja danego gracza zostaje wybranazgodnie z podaną strategią z pewnym prawdopodobieństwem P, ustalonym eksperymentalniedla każdej ze strategii, a w przeciwnym przypadku losowo. Deterministyczny wybór zaburzyłbyideę algorytmu MCTS. Dokładny opis poszczególnych polityk wyboru akcji wykracza pozastreszczenie, więc proponujemy tu tylko podsumowanie idei każdej z nich. Pełny opis możnaznaleźć w rozprawie w Rozdziale 3.3.

� R - jednorodnie losowy wybór akcji. Bazowa polityka MCTS.

� AGE - dla reguł opisujących warunki wygranej utworzone są drzewa zależności. Odpo-wiednie operatory agregacji działające na tych drzewach obliczają w sposób przybliżonystopień spełnienia warunków zwycięstwa w dowolnym stanie dla wybranego gracza. Stra-tegia zachłannie wybiera akcje prowadzące do stanów o maksymalnym stopniu spełnieniawarunków zwycięstwa.

� HH - znane usprawnienie w dziedzinie MCTS i GGP, które polega na częstszym wyborzeakcji, które były historycznie dobre.

� M - preferowanie stanów, w których różnica dostępnych ruchów gracza i jego przeciw-ników jest największa.

7

Page 9: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Tablica 1 Skrótowy wykaz strategii symulacyjnych stosowanych w MINI-Player. Oryginalnenazwy, to nazwy, pod którymi strategie występują w rozprawie. Kolumna P oznacza prawdo-podobieństwo wybrania akcji zgodnie z przydzieloną do symulacji strategią, 1−P to szansa nawybranie akcji losowej. Ostatnia kolumna to poziom symulacji, na którym operuje strategiai oznacza on w sposób przybliżony narzut obliczeniowy: I - strategia wymaga jedynie wyzna-czenia legalnych akcji, II - strategia wymaga wyznaczenia potencjalnych następnych stanów,III - wymagane jest obliczenie legalnych akcji w potencjalnych następnych stanach.

Oryginalna nazwa Skrót Polska nazwa P Poz.Random R Przeszukiwanie Losowe 1.0 I

Approximate Goal Evaluation AGE Stopień Spełnienia Warunków Goal 0.7 IIHistory Heuristic HH Heurystyka Historyczna 0.6 I

Mobility M Mobilność 0.65 IIIExploration E Eksploracja 0.8 II

Statistical Symbols Counting SSC Statystyczne Zliczanie Symboli 0.85 IIScore S Punktacja 0.75 II

� E - strategia wprowadza miarę podobieństwa i różnicy stanów. Strategia eksploracjiprzechowuje historię kilku ostatnio odwiedzonych stanów i preferuje wybór takich, któresą najbardziej różne od ostatnio odwiedzonych.

� SSC - strategia w czasie dostępnym na wstępną analizę gry konstruuje empiryczniefunkcję ewaluacyjną. Funkcja bazuje na symbolach, z których zbudowane są fakty i ichkorelacji z wynikiem gry. Korelacja obliczona jest statystycznie podczas symulacji uczą-cych. Strategia wybiera stany, w których wartość funkcji ewaluacyjnej jest maksymalna.

� S - strategia przeprowadza statyczną analizę reguł gry w celu wykrycia reguł stanowią-cych o punktacji (dowolnego typu). W przypadku braku wykrycia takich reguł, strategianie jest używana. Wstępne symulacje sprawdzają czy istnieje powiązanie, wprost lub od-wrotne, z wykrytą punktacją i wynikiem gry. Wybierane są stany maksymalizujące bądźminimalizujące (w zależności od wykrytego powiązania) tę punktację.

Celem związanym z wprowadzeniem polityk wyboru akcji było połączenie ich z nadrzęd-nym mechanizmem, który byłby w stanie dynamicznie dobierać właściwą dla danej gry. Wklasycznych podejściach do konstrukcji agentów, gdy gra jest ustalona, zadanie to zwyklewykonywałby człowiek. W GGP to sam program musi dynamicznie dokonywać wyboru wła-ściwej strategii. Nieadekwatne dla danej gry heurystyki nadal mają negatywny wpływ, leczgracz ma szansę się tego nauczyć. Natomiast silne heurystyki mają szansę znacznie przy-spieszyć zbieżność algorytmu mierzoną przez liczbę symulacji potrzebnych do wyznaczenianajlepszego ruchu.

W rozprawie zaproponowane i przetestowane zostały cztery mechanizmy wyboru strategii:

1. Alokacja proporcjonalna do Q - liczba symulacji przydzielona strategii jest wprostproporcjonalna do jej średniej empirycznej oceny - Q.

2. Alokacja proporcjonalna do Q2 - jak wyżej, tylko brany pod uwagę jest kwadratoceny - Q2.

8

Page 10: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

3. Alokacja statyczna - co 50 symulacji następuje ranking strategii względem średniejoceny. Od najwyżej do najniższej uzyskują one odpowiednio 22,11,7,4,3,2 i 1 symulacjido wykonania.

4. Metoda Upper Confidence Bounds (UCB) - wybór kolejnej strategii do każdejsymulacji realizowany jest przy pomocy wzoru UCB (Równanie 2).

s∗(n+ 1) = argmaxs∈S

{Q(s, n) + 5

√ln (n)T (s, n)

}(2)

gdzie s* jest wybraną strategią; n jest liczbą wykonanych już symulacji; Q(s,n) - jest średnimwynikiem strategii s po n symulacjach; T(s,n) jest liczbą symulacji spośród n wszystkich,które zostały przydzielone do strategii s. Stała eksploracji została ustalona eksperymentalniena 5.

Najbardziej właściwym wyborem okazał się algorytm UCB (czwarta metoda), co argumen-tujemy w rozprawie. W porównaniu do metod 1 oraz 2, skutkuje najlepszym rozdzieleniemstrategii empirycznie najsłabszych od najlepszych, natomiast w porównaniu do metody 3 jejprzewagą jest możliwość uczenia się oraz niezależność od liczby strategii. Każdorazowo, przydodaniu nowej strategii, parametry metody 3 muszą być na nowo dobierane i testowane. Roz-prawa zawiera wykresy funkcji przydziału symulacji przez poszczególne metody w zależnościod jakości strategii oraz porównanie różnic dla przykładowej gry. Dodatkowo, w Dodatku Czawarte są wykresy pokazujące jak w kolejnych fazach gry zmieniają się proporcje udziałówkonkretnych strategii w puli wszystkich symulacji. Eksperyment ten został przeprowadzonyna próbie 17 gier.

3.3 Wyniki eksperymentalne siły gry

Gracz, w którym zaimplementowano wszystkie metody opisywane w rozprawie doktorskiej zo-stał nazwany MINI-Player. Pod tą nazwą uczestniczył również w oficjalnych MistrzostwachGGP. Podstawową metodą weryfikacji jakości gracza było przetestowanie go przeciwko innymgraczom referencyjnym w warunkach laboratoryjnych. W celu ewaluacji podejścia i odniesieniasię do postawionych celów badawczych przeprowadzono liczne serie eksperymentów.

1. MINI-Player vs. CadiaPlayer:CadiaPlayer to bardzo silny gracz referencyjny. W latach 2007, 2008 i 2012 był zwy-cięzcą oficjalnych mistrzostw GGP. Do testów używamy dostępnej publicznie wersji zroku 2012. Należy przypuszczać, że jest zbliżona do wersji turniejowej z tego samegoroku.

2. MINI-Player vs. MINI-Player-Base:MINI-Player-Base to bazowa implementacja naszego gracza, która używa jedyniesymulacji losowych oraz heurystyki historycznej. Eksperyment służy ocenie skutecznościnowatorskich rozwiązań zaproponowanych w pracy.

3. MINI-Player-Base vs. CadiaPlayer: dla kompletności uwzględniony został test ba-zowej implementacji przeciwko CadiaPlayer, aby poznać punkt odniesienia dla pierw-szego eksperymentu.

9

Page 11: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

4. MINI-Player vs. Rand 1-ply:Gracz Rand 1-ply wykonuje losowe legalne ruchy z przeszukiwaniem na 1 ruch doprzodu w celu wykrycia akcji prowadzących do natychmiastowej wygranej lub przegra-nej. Akcje wygrywające są wybierane w pierwszej kolejności, natomiast akcje przegry-wające są unikane, jeżeli jest to możliwe. Celem było sprawdzenie czy MINI-Playerjest w stanie przekonująco pokonać takiego nieprzewidywalnego gracza.

5. MINI-Player vs. MINI-Player-1S:MINI-Player-1S to gracz, który używa wyłącznie statystycznie najlepszej strategii(wyznaczonej wcześniej eksperymentalnie). Celem eksperymentu jest sprawdzenie czywystępują efekty synergii między strategiami i czy pozostawianie wszystkich strategiidostępnych do wyboru przez cały czas trwania rozgrywki ma sens.

Dla ustalonej gry wynik gracza, oznaczonego przez P1, obliczany jest w następujący sposób:

Wynik = (|WIN | ∗ 100 + |DRAW | ∗ 50) ∗ 1REP

(3)

gdzie REP oznacza liczbę powtórzeń podczas eksperymentu (250), |WIN | to liczba wy-granych gracza P1 a |DRAW | to liczba remisów. Pojedynek jest wygrany przez gracza P1jeżeli jego wynik jest lepszy niż wynik gracza P2 niezależnie od wartości różnicy. W każdymeksperymencie odniesiono się do istotności statystycznej zakładając przedział ufności 95%względem rozkładu t-studenta.

W streszczeniu prezentujemy wyniki dwóch eksperymentów. Pierwszy z nich, którego wy-niki umieszczone są w Tabeli 2, zestawia MINI-Player przeciwko CadiaPlayer. Drugi eks-peryment to porównanie naszego gracza przeciwko podejściu bazowemu, wyniki podane są wTabeli 3. W pierwszym eksperymencie MINI-Player okazał się statystycznie istotnie silniej-szym graczem w 10 na 17 gier. Wyniki nie były istotnie różne w 3 grach. Uzyskał równieżlepszy średni wynik gry 55.61 w skali [0-100], gdzie 50 oznacza remis. W drugim eksperymen-cie, MINI-Player pokonuje wersję bez adaptacyjnego mechanizmu selekcji strategii w 10grach przegrywając istotnie tylko w jednej. Osiąga również lepszy średni wynik niż przeciwkoCadiaPlayer. Wynosi on teraz 58.31 na korzyść pełnej wersji MINI-Player.

3.4 Gry jednoosobowe

Gry jednoosobowe, zwane również łamigłówkami, tak bardzo różnią się od gier, gdzie zdefi-niowana jest większa liczba graczy, że poświęcono im osobne podejście. Gdy MINI-Playerotrzymuje reguły gry, sprawdza liczbę graczy i uruchamia odpowiedni moduł (dla jednoosobo-wych lub wieloosobowych gier). Zgodnie z założeniami, dozwolone są wyłącznie gry determini-styczne, więc w przypadku łamigłówek wystarczy znaleźć dowolną sekwencję akcji prowadzącądo rozwiązania i nie ma już żadnych czynników, które mogą przeszkodzić w jego osiągnięciu.Nie ma przeciwników, a więc również niepewności związanej z ich zachowaniem. Nie oznaczato, że gry jednoosobowe są proste, wręcz przeciwnie. W grach wieloosobowych często wystar-czy grać lepiej od przeciwnika, aby osiągnąć pozytywny wynik. Zazwyczaj jest wiele ścieżekw drzewie gry, tj. unikalnych rozgrywek, które do tego celu prowadzą. Jeżeli gra jest sprawie-dliwa, to rozkład jej wyników symulacji początkowo oscyluje wokół remisu. W łamigłówkachcelem jest rozwiązanie gry i nierzadko istnieje tylko jedna konkretna sekwencja akcji, która

10

Page 12: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

do niego prowadzi. Przeważająca większość symulacji zwraca wynik z wypłatą zerową ozna-czającą brak rozwiązania. W GGP wiele gier jednoosobowych ma zdefiniowane rozwiązaniacząstkowe, które mają niezerową ale nie maksymalną wypłatę. Łamigłówki można postrzegaćjako problem przeszukiwania ogromnego grafu w trybie on-line, którego węzły wyznaczane sąw momencie odwiedzin.

Zmiany zaproponowane do zwiększenia skuteczności rozwiązywania łamigłówek opisanesą w Rozdziale 4. W skrócie dotyczą drobnej modyfikacji fazy selekcji algorytmu MCTS,wydajnych tabeli transpozycji optymalizowanych pod kątem GGP oraz ograniczenia zestawustrategii do sześciu wersji strategii eksploracyjnej. Każda wersja używa innych parametrów we-wnętrznych. Strategia ta, która w idei przypomina Tabu Search, okazała się najskuteczniejszaw omawianej klasie gier.

Wiele metod zostało eksperymentalnie zweryfikowanych zarówno pod kątem skutecznościrozwiązywania łamigłówek w ustalonym czasie (10 minut) jak również przy ustalonym czasiena wykonanie akcji (15s lub 30s). Tabela 4 prezentuje porównanie wersji gracza dedykowanegodo gier jednoosobowych (MINI-1P) z graczem regularnym bez wprowadzonych usprawnień

Tablica 2 Wyniki eksperymentów pomiędzy MINI-Player i CadiaPlayer. Wartości w kolumnieCzasy oznaczają odpowiednio czas na wstępną analizę gry - START-clock oraz czas na wyko-nanie akcji - PLAY-clock (prawa wartość). Wyniki powyżej 50, zaznaczone tłustym drukiem,są na korzyść pierwszego w kolejności gracza, którym w tym zestawieniu jest MINI-Player.W nawiasach kwadratowych pokazane są przedziały ufności poziomu 95%. Istotne zwycięstwaktórejkolwiek ze stron opatrzone są znakiem X.

Gra Czasy MINI-P vs. Cadia Przedział[s] ufności

Alquerque 45 15 61.20 [4.10] XBreakthrough 45 15 36.00 [5.95] X

Cephalopod Micro 60 20 43.20 [6.14] XCheckers 60 20 61.20 [5.70] X

Chinese Checkers 45 10 51.00 [5.39]Chinook 45 15 50.80 [3.42]Connect4 40 10 41.40 [5.86] X

Connect4 Suicide 45 10 61.80 [5.39] XFarmers 45 10 66.40 [4.31] X

Farming Quandries 60 15 83.40 [2.92] XFree for all 2P 45 15 63.00 [5.71] X

Hex 60 20 60.00 [6.07] XNine Board Tic-Tac-Toe 45 10 73.00 [5.17] X

Othello 90 30 48.60 [6.01]Pacman 40 10 56.40 [3.81] XPentago 45 15 26.60 [4.74] X

Piligrimage 90 20 61.40 [3.04] X

Średnia 55.61

11

Page 13: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Tablica 3 Wyniki eksperymentów pomiędzy MINI-Player (MINI-P) i MINI-Player Base(MINI-PB). Czytelnik proszony jest o odniesienie się do Tabeli 2 w celu interpretacji war-tości komórek.

Gra Czasy MINI-P vs. MINI-PB Przedział[s] ufności

Alquerque 45 15 67.20 [4.12] XBreakthrough 45 15 46.80 [6.19]

Cephalopod Micro 60 20 53.20 [6.19]Checkers 60 20 71.20 [5.22] X

Chinese Checkers 45 10 50.10 [5.00]Chinook 45 15 61.60 [4.60] XConnect4 40 10 58.60 [5.62] X

Connect4 Suicide 45 10 50.40 [5.60]Farmers 45 10 57.80 [4.31] X

Farming Quandries 60 15 78.60 [3.66] XFree for all 2P 45 15 66.80 [5.65] X

Hex 60 20 50.00 [6.20]Nine Board Tic-Tac-Toe 45 10 67.80 [5.42] X

Othello 90 30 51.00 [5.85]Pacman 40 10 60.40 [3.75] XPentago 45 15 44.00 [5.79] X

Piligrimage 90 20 55.80 [3.12] X

Średnia 58.31

(MINI-P) oraz CadiaPlayer przy użyciu czasów 45s na analizę wstępną oraz 15s na ruch.

3.5 Zrównoleglenie

Zrównoleglenie rozumiane jako projektowanie algorytmów wykorzystujących wiele fizycznychrdzeni procesora a także wiele maszyn połączonych interfejsem komunikacyjnym jest interesu-jącym zagadnieniem badawczym. W rozprawie została zaproponowana nowa metoda zrównole-glenia algorytmu MCTS w kontekście gracza GGP. Opiera się ona na połączeniu zalet dwóchmetod opisanych w literaturze [20] Root-Parallelization oraz Tree-Parallelization. Pierwszametoda zastosowana jest w obrębie komputerów i jest nadrzędna, natomiast druga działa wkontekście wątków na pojedynczej maszynie. Hierarchię tę prezentuje Rysunek 2.

Dodatkowo, nasz algorytm stosuje podział drzewa gry na fragmenty do których (i tylkodo nich) mają dostęp poszczególne maszyny w systemie. Zrealizowane jest to przez odpowied-nie limitowanie dostępnych akcji w trakcie symulacji. W rozprawie znajduje się porównaniestosowanych metod zrównoleglenia, argumentacja zastosowanego podejścia oraz dyskusje natemat jego skalowalności. Wysoka skalowalność zapewniona jest przez trójwarstwową modu-łową architekturę systemu.

Testy zrównoleglenia zostały przeprowadzone przy użyciu 32 komputerów wyposażonych w

12

Page 14: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Tablica 4 Porównanie wyników wersji MINI-Player zoptymalizowanej pod kątem gier jedno-osobowych (MINI-1P) z regularną (MINI-P) oraz graczem CadiaPlayer. Wartości w kolum-nie Czasy oznaczają odpowiednio czas na wstępną analizę gry - START-clock oraz czas nawykonanie akcji - PLAY-clock (prawa wartość). Najlepsze wyniki (uwzględniając istotnośćstatystyczną na poziomie 95%) są zaznaczone pogrubionym tekstem.

Gra Czasy MINI-1P MINI-P CadiaPlayer[s]

8-Puzzle 45 15 99.01 13.86 0.00Buttons 45 15 100.00 100.00 100.00

Circle Solitaire 45 15 100.00 100.00 100.00Hamilton 45 15 100.00 90.30 99.90

Hanoi 45 15 80.20 80.00 97.40Hunter 45 15 87.00 87.00 87.00

Knights Tour 45 15 100.00 86.50 100.00Lights Out 45 15 35.00 4.00 0.00

Rubik’s Cube 45 15 0.00 0.00 35.00Untwisty Corridor 45 15 97.00 92.00 100.00

Średnia 45 15 79.82 65.37 71.93

Rysunek 2: Ilustracja hybrydowego podejścia równoległego z 3 maszynami oraz 3 wątkami nakażdej maszynie.

4-rdzeniowe (8-wątkowe) procesory Intel(R) Core i7-2600 3.40GHz. Każdy gracz miał do dys-pozycji połowę z nich. W Tabeli 5 zaprezentowane są wyniki zaproponowanej metody nazwanejLimited-RT przeciwko podejściu Tree-Parallelization. Przewaga naszej metody liczona jakoliczba gier dla których jest odpowiednio lepsza-podobna-gorsza wynosi 6-0-3 (przy przyjęciuufności na poziomie 75%) lub 5-2-2 (na poziomie 95%). W rozprawie znajduje się równieżeksperyment wykazujący wpływ zastosowanego algorytmu podziału drzewa na wyniki a takżeformalny dowód dlaczego podejście hybrydowe (Root + Tree) dominuje nad podejściem Rootwraz ze wzrostem liczby dostępnych komputerów.

13

Page 15: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Tablica 5 Wynik gracza stosującego zaproponowaną hybrydową metodę zrównoleglenia(Limited-RT) przeciwko graczowi stosującemu metodę Tree Parallelization (Tree). Prze-działy ufności statystycznej 75% oraz 95% umieszczone są w nawiasach kwadratowych. Sta-tystycznie istotne przewagi są zaznaczone znakiem X.

Gra Czasy Limited-RT 75% przedział 95% przedział.[s] vs. Tree ufności ufności

Breakthrough 45 8 60.00 [4.12] X [9.60] XCheckers 60 10 62.50 [3.88] X [9.02] XConnect4 40 5 57.00 [3.47] X [8.08]Farmers 45 5 83.50 [2.67] X [6.21] X

Farming Quandries 60 8 86.00 [2.80]X [6.51]XHex 9x9 60 10 64.00 [4.04]X [9.41]XOthello 90 15 24.00 [3.60] X [8.37] XPentago 45 8 52.00 [4.21] [9.79]

Pilgrimage 90 10 38.00 [3.91] X [9.10] X

Średnia 58.60

3.6 Interpreter Języka GDL

Język GDL [10] służy do reprezentacji reguł gier w środowisku GGP. Wywodzi się z bazoda-nowego języka Datalog [21], który jest podzbiorem Prologa [13]. GDL oparty jest na logicepredykatów pierwszego rzędu. Do semantycznego opisu wykorzystuje format KIF (ang. Know-ledge Interchange Format). Relatywnie łatwo jest przekształcić reguły gry napisane w językuGDL do programu Prologa. Różnice syntaktyczne wynikają z pewnych ograniczeń nałożonychna negacje i rekursję w GDL (których nie ma w Prologu) oraz w predefiniowanym znaczeniusłów kluczowych. Kontekst każdej gry zdefiniowany jest przy pomocy faktów, które zacho-dzą (są spełnione) w bieżącym momencie. Zakłada się, że wszystkie fakty, których nie da sięwyprowadzić wywodem logicznym są nieprawdziwe. Przykładowy fakt to (control xplayer),który oznacza, że jest kolej gracza nazwanego xplayer na wykonanie ruchu. Wszelkie napisynie należące do słów kluczowych i wbudowanych konstrukcji języka są w warunkach turniejo-wych zaciemniane, aby program nie mógł “zgadywać” co może oznaczać dany napis.

Słowa kluczowe w języku GDL to:

� role(< R >) - fakty definiujące role występujące w grze. Liczba tych faktów jest równaliczbie graczy.

� init(< T >) - relacja (może zawierać zarówno reguły i gotowe fakty), która wyznaczazbiór faktów inicjalizowanych na początku gry. Zbiór ten jest częścią stanu gry.

� true(< T >) - wyrażenie pomocnicze, używane w warunkach reguł, które oznacza, żejeśli < T > zachodzi w bieżącym stanie, to warunek jest spełniony.

� next(< T >) - relacja służąca do wyznaczania kolejnego stanu w grze. Fakt < T >staje się prawdziwy, jeżeli zdefiniowane warunki są spełnione.

14

Page 16: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

� legal(< R >,< A >) - relacja wyznaczająca akcje < A >, które są dostępne dla gracza< R >.

� does(< R >,< A >) - fakt oznaczający, że gracz < R > wykonał akcję < A > wpoprzednim stanie. Fakty tego typu powinny być wygenerowane po wykonaniu ruchów,mogą być używane wyłącznie w warunkach reguł.

� terminal - reguła, która zachodzi, gdy bieżący stan jest stanem terminalnym.

� goal(< R >,< v >) - relacja służąca do wyznaczenia wypłaty (wyniku gry) < v >dla gracza < R >. Zgodnie z definicją, wyniki można interpretować jedynie w stanieterminalnym. W innych stanach, zachowanie relacji jest nieokreślone. W każdym ter-minalnym stanie musi istnieć wypłata dla każdego gracza. Argument < v > musi byćstałą z przedziału [0,100] lub zmienną, której wszystkie możliwe realizacje (podstawieniastałych) należą do tego przedziału.

� distinct(< p >,< q >) - oznacza, że < p > oraz < q > są syntaktycznie różne. Jeżeli< p > i < q > to zmienne, to nie mogą mieć identycznych realizacji.

Dobrze zdefiniowana gra musi posiadać niezbędne reguły, aby zrealizować podstawowezadania: wyznaczenie stanu początkowego, legalnych akcji oraz reguł przejścia do stanu na-stępnego, sprawdzenie warunku końca gry oraz pobranie wyników w stanie terminalnym.Naturalnie, dodatkowo można definiować własne reguły i fakty, które będą wykorzystywaneprzez podstawowe reguły związane ze słowami kluczowymi.

Przykładowa reguła, która określa legalność ruchu zaznaczenia pola o współrzędnych ?x?y może mieć następującą postać:

(<= (legal ?w (mark ?x ?y)) ;?w jest dowolnym graczem(true (cell ?x ?y b)) ;pole ?x ?y jest puste b = blank(true (control ?w))) ;gracz ?w ma ruch

Gry zdefiniowane w języku GDL nierzadko zawierają skomplikowane reguły z wieloma wa-runkami, wzajemnymi zależnościami, rekursją, operatorami logicznymi i licznymi poziomamizagnieżdżenia. Pliki z regułami testowanych przez nas gier zajmują od 1.5KB do 28KB (gdziejeden bajt to jeden znak).

Motywacje do stworzenia autorskiego interpretera GDL były trzy:

1. Szybkość obliczeń - algorytm MCTS służący do przeszukiwania drzewa opiera się nasymulacjach. Im większa liczba przeprowadzanych symulacji na sekundę, tym bardziejprecyzyjna ocena statystyczna akcji w grze. Autorzy [22] przeprowadzili eksperymentna próbie 8 różnych gier pomiędzy dwoma identycznymi graczami zakończony wynikiembliskim remisu: 49.25 do 50.75. Następnie pierwszy gracz otrzymał dwa razy więcej czasuna ruch, co w tym kontekście sprowadzało się do przeprowadzania około 2 razy więcejsymulacji w każdym kroku gry. Wynik zmienił się na korzyść gracza z większym czasemna 69.37 do 30.63. Można przypuszczać, że wraz z dalszym wzrostem przewagi w liczbiesymulacji, przewaga w grze nadal by rosła.

2. Pełna kontrola - MINI-Player używa strategii, które sterują fazą symulacji. Własnenarzędzie pozwala na pełną swobodę w definiowaniu strategii, które nie są ograniczone do

15

Page 17: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

danych zwracanych przez interpreter, lecz mogą korzystać z dowolnych wewnętrznychinformacji związanych z interpretacją reguł. Strategią, która takie dane wykorzystujejest AGE.

3. Specjalizacja - Prolog jest bardziej ogólnym językiem. Naszym celem było wykorzy-stanie wszelkich ograniczeń oraz unikalnych cech GDL takich jak interpretacja słów klu-czowych, aby zoptymalizować metodę wywodu logicznego. Przyjęliśmy również zasadę,że priorytetem jest wyłącznie złożoność obliczeniowa, natomiast złożoność pamięciowamoże być dowolnie duża o ile nie przekracza dostępnej pamięci RAM komputera.

3.6.1 Podsumowanie wyników interpretera GDL

Główne cechy zaproponowanego rozwiązania to:

1. Złożony preprocessing przekształcający reguły do prostszej w zarządzaniu postaci.

2. Wyznaczenie strategii rezolucji logicznej tylko raz i zapisanie jej w formie drzewa. Istotnynarzut obliczeniowy konstrukcji drzewa wywodu jest jednorazowy, dzięki czemu inter-preter działa szybciej w trybie rzeczywistym.

3. Wydajne zarządzanie pamięcią zapewnione przez odpowiednie struktury danych orazalgorytmy.

4. Śledzenie wzajemnych powiązań zmiennych w celu ich filtrowania, gdy tylko jest tomożliwe. Zmniejsza to liczbę wyznaczanych faktów tymczasowych.

5. Liczne optymalizacje takie jak mieszanie rzadko zmieniających się faktów oraz powtórneużywanie wyników, które się nie zmieniły.

Interpreter porównany został z dwiema najpopularniejszymi dystrybucjami Prologa wśródtwórców związanych ze środowiskiem GGP. Są to YAP [12] (ang. Yet Another Prolog) orazECLiPSE [14]. Zgodnie z naszą wiedzą YAP produkuje najwydajniejsze programy Prologowepod kątem szybkości wykonania, a to jest właśnie celem w GGP, gdyż bezpośrednio wpływana liczbę wykonywanych symulacji. Wyniki porównania przedstawione są w Tabeli 6. Zapro-ponowany dedykowany interpreter okazał się najszybszy w 23 z 28 testowanych gier. Średniooferuje 4-krotny wzrost prędkości w porównaniu do YAP oraz ponad 5-krotny w porównaniudo ECLiPSE. Wiele miejsca w rozprawie poświęcone zostało na szczegółowy opis interpreteraoraz porównanie z podejściem bazującym na języku Prolog.

4 Podsumowanie

Rozprawa opisuje najważniejsze aspekty konstrukcji kompletnego uniwersalnego gracza GGP.Opracowany gracz, nazwany MINI-Player, wziął udział w oficjalnych Mistrzostwach GGPw latach 2012-2014 i jest znany w środowisku naukowym związanym z tą dziedziną. Jakopierwszy gracz z Polski (w 2012 roku) uzyskał kwalifikację do finałowego etapu konkursu.Głównym osiągnięciem z punktu widzenia naukowego jest opracowanie meta-heurystycznegomechanizmu adaptacyjnych strategii, które wspomagają algorytm MCTS. Większość znanychwcześniej usprawnień tego algorytmu zakładała konkretne modyfikacje bez uczącego się sys-temu zdolnego do przełączania między nimi. Konstrukcja heurystyk, z wyjątkiem losowej,

16

Page 18: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

heurystyki historycznej oraz mobilności ma również istotne elementy nowatorskie. Chociażzarówno strategie oraz dynamiczny mechanizm ich selekcji wpływają na ogólną jakość gracza,to oba komponenty są relatywnie niezależne, tzn. w innych zastosowaniach można definiowaćbardziej dostosowane heurystyki i/lub inne mechanizmy selekcji. Gry jednoosobowe stanowiąodrębną domenę gier niż gry wieloosobowe z powodu licznych istotnych różnic. Dla tej klasygier proponujemy dostosowane rozwiązanie, które wygrywa z graczem przeznaczonym do gierwieloosobowych, jak pokazuje weryfikacja eksperymentalna.

Zrezygnowanie z czysto losowych symulacji skutkuje zwiększonym narzutem obliczenio-wym. Między innymi z tego powodu, na potrzeby gracza został opracowany wydajny inter-preter reguł GDL oraz nowatorska metoda zrównoleglenia obliczeń z możliwością skalowaniana wiele maszyn. Własny interpreter nie jest jedynie rozwiązaniem problemu wydajności, leczumożliwia realizację niektórych strategii takich jak wyliczanie stopnia spełnienia warunkówzwycięstwa.

MINI-Player został przetestowany nie tylko podczas mistrzostw GGP, lecz również wbardziej powtarzalnych i sprawiedliwych warunkach laboratoryjnych. Przeciwko silnemu gra-czowi, zwanemu CadiaPlayer (wersja z 2012 roku, gdy CadiaPlayer był najlepszym graczemna świecie) uzyskuje istotnie lepszy wynik (10-3-4) na bazie 17 gier, z których wszystkie pozajedną były w różnych latach wykorzystywane podczas mistrzostw. Uzyskany średni wynik gryw skali [0-100] wynosi 55.61 do 44.39 na korzyść naszego gracza. W rozprawie pokazaliśmyrównież istotny wkład stosowania mechanizmu strategii - zarówno samych strategii przy po-mocy testu przeciwko graczowi bazowemu jak i ich dynamicznej selekcji dzięki porównaniuz graczem, który wykorzystuje wyłącznie najlepszą strategię. MINI-Player pokonuje graczabazowego, stosującego wyłącznie symulacje losowe z heurystyką historyczną, w 10 grach, remi-sując w 6 grach i przegrywa jedynie w 1 grze. Średni wynik wynosi 58.31 do 41.69 na korzyśćgracza z pełnym zestawem strategii. Niniejszym konkludujemy, że:

Możliwe jest stworzenie uniwersalnego agenta (gracza niezależnego od kon-kretnej gry), który potrafi grać na wysokim poziomie w dowolne gry określonegotypu - skończone, deterministyczne z pełną informacją - przy założeniu, że agentotrzymuje jedynie formalny opis reguł gry przy pomocy języka logiki. Wysokipoziom zdefiniowany jest jako jednocześnie (1) - osiągnięcie lepszego rezultatu wbezpośrednim porównaniu z silnym graczem referencyjnym - CadiaPlayer oraz(2) - wygrywanie co najmniej 90% gier (przy 95% poziomie ufności statystycznej)przeciwko graczowi Rand 1-ply, który wykonuje przeszukiwanie drzewa na 1 ruchdo przodu w celu wykrycia akcji bezpośrednio wygrywających i przegrywających.Akcje wygrywające są zagrywane w pierwszej kolejności, akcje przegrywające sąunikane, jeżeli to możliwe. W przeciwnym przypadku gracz wykonuje losowe ak-cje.

oraz

W środowisku GGP, możliwe jest usprawnienie uniwersalnego gracza opar-tego na algorytmie MCTS/UCT i losowych symulacjach poprzez dodanie port-folia strategii (polityk gry) i efektywnego mechanizmu selekcji właściwej politykiaby sterować symulacjami.

17

Page 19: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Przyszłe badania mogą dotyczyć m.in. opracowania nowych strategii, podziału rozgrywkina fazy (rozpoczęcie, środek, końcówka), modelowania przeciwników, uwzględnienia wynikówpłynących ze strategii do wykonania finalnego ruchu a także przeniesienia zastosowanegopodejścia do innych dziedzin zastosowań.

Podziękowania. Badania wsparte były przez stypendium naukowe w ramach programuMiędzynarodowe Projekty Doktoranckie pt.: „International PhD Studies in Intelligent Com-puting”. Program realizowany ze środków Unii Europejskiej w ramach Europejskiego Fundu-szu Społecznego, Program Operacyjny Kapitał Ludzki.

Literatura

[1] C. E. Shannon. XXII. Programming a Computer for Playing Chess. Philosophical Ma-gazine (Series 7), 41(314):256–275, 1950.

[2] A. L. Samuel. Some studies in Machine Learning using the game of Checkers. IBM J.Res. Dev., 3(3):210–229, July 1959.

[3] W. Clark, J. Golinski, and S. Schaffer. The Sciences in Enlightened Europe. PhoenixPoets Series. University of Chicago Press, 1999.

[4] K. Chellapilla and D. B. Fogel. Evolution, Neural Networks, Games, and Intelligence.Proceedings of the IEEE, 87(9):1471–1496, 1999.

[5] F-H. Hsu. Behind Deep Blue: Building the Computer that Defeated the World ChessChampion. Princeton University Press, Princeton, NJ, USA, 2002.

[6] J. Schaeffer, N. Burch, Y. Bjornsson, A. Kishimoto, M. Muller, R. Lake, P. Lu, andS. Sutphen. Checkers is solved. Science, 317(5844):1518–1522, 2007.

[7] M. R. Genesereth, N. Love, and B. Pell. General Game Playing: Overview of the AAAICompetition. AI Magazine, 26(2):62–72, 2005.

[8] Y. Bjornsson and H. Finnsson. CadiaPlayer: A Simulation-Based General Game Player.Computational Intelligence and AI in Games, IEEE Transactions on, 1(1):4–15, March2009.

[9] H. Finnsson and Y. Bjornsson. Simulation-based Approach to General Game Playing. InProceedings of the Twenty-Third AAAI Conference on Artificial Intelligence (AAAI-08),pages 259–264, Chicago, IL, 2008. AAAI Press.

[10] N. Love, T. Hinrichs, D. Haley, E. Schkufza, and M. Genesereth. General Game Playing:Game Description Language specification. Available at: htp://games.stanford.edu/readings/gdl_spec.pdf, 2008.

18

Page 20: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

[11] S. Schiffel and M. Thielscher. Fluxplayer: A Successful General Game Player. In Proce-edings of the 22nd AAAI Conference on Artificial Intelligence (AAAI-07), pages 1191–1196. AAAI Press, 2007.

[12] V. S. Costa, R. Rocha, and L. Damas. The YAP Prolog System. Theory and Practice ofLogic Programming, 12:5–34, 2012.

[13] I. Bratko. Prolog Programming for Artificial Intelligence. International Computer ScienceSeries. Addison Wesley, 2001.

[14] K. R. Apt and M. Wallace. Constraint Logic Programming using Eclipse. CambridgeUniversity Press, New York, NY, USA, 2007.

[15] J. Mehat and T. Cazenave. Tree Parallelization of Ary on a Cluster. In Proceedings ofthe IJCAI-11 Workshop on General Game Playing (GIGA’11), pages 39–43, 2011.

[16] J. Mehat and T. Cazenave. A Parallel General Game Player. Kunstliche Intelligenz,25(1):43–47, 2011.

[17] K. Waledzik and J. Mańdziuk. An Automatically-Generated Evaluation Function inGeneral Game Playing. IEEE Transactions on Computational Intelligence and AI inGames, 6(3):258–270, 2014.

[18] J. Kowalski and M. Szykuła. Game Description Language Compiler Construction. InS. Cranefield and A. Nayak, editors, AI 2013: Advances in Artificial Intelligence, vo-lume 8272 of Lecture Notes in Computer Science, pages 234–245. Springer InternationalPublishing, 2013.

[19] G. Chaslot, M. H.M. Winands, I. Szita, and H. J. van den Herik. Cross-Entropy forMonte-Carlo Tree Search. ICGA Journal, 31(3):145–156, 2008.

[20] T. Cazenave and N. Jouandeau. On the Parallelization of UCT. Proceedings of CGW07,pages 93–101, 2007.

[21] Shan Shan Huang, Todd Jeffrey Green, and Boon Thau Loo. Datalog and EmergingApplications: An Interactive Tutorial. In Proceedings of the 2011 ACM SIGMOD In-ternational Conference on Management of Data, SIGMOD ’11, pages 1213–1216, NewYork, NY, USA, 2011. ACM.

[22] T. Cazenave and J. Nicolas. A Parallel Monte-Carlo Tree Search Algorithm. In H. J.van den Herik, X. Xinhe, Z. Ma, and M.H.M. Winands, editors, Computers and Ga-mes, volume 5131 of Lecture Notes in Computer Science, pages 72–80. Springer BerlinHeidelberg, 2008.

19

Page 21: Instytut Badań Systemowych · Carlo (ang. Monte Carlo Tree Search (MCTS)), na drugim poziomie działa adaptacyjny me-chanizm wyboru strategii gry w pojedynczej iteracji MCTS, a na

Tablica 6 Porównanie wydajności ECLiPSe Prolog, YAP Prolog oraz zaproponowanego in-terpretera. Wszystkie testy zostały wykonane na tym samym komputerze przy użyciu jednegowątku. Wskaźniki w kolumnach po prawej stronie pokazują procentową przewagę naszego po-dejścia w poszczególnych grach nad pozostałymi metodami. Wartość równa 100% oznaczarówną wydajność.

Średnia liczba kompletnych losowych symulacji gry wykonanych w ciągu 20 sekund.Gra ECLiPSE YAP Nasze C/A C/B

Prolog Prolog Rozwiązanie *100% *100%(A) (B) C

Bidding Tic-Tac-Toe 10333 9196 48396 468% 526%Bomberman 13528 6602 77792 575% 1178%

Breakthrough 753 904 1850 246% 205%Cephalopod Micro 66 54 176 267% 326%

Checkers 183 198 414 226% 209%Chineese Checkers 1079 1703 9065 840% 532%

Chinook 268 602 4421 1650% 734%Connect-4 5689 6913 23038 405% 333%

Connect-4 Suicide 5535 6813 22696 410% 333%Dual Connect-4 3099 5741 16315 526% 284%

Eight Puzzle 5570 3850 18591 334% 483%Farmers 4914 11430 11974 244% 105%

Farming Quandries 868 1901 13534 1559% 712%Fire Sheep 176 1614 2353 1337% 146%

Knight Through 1636 1620 4905 300% 303%Knight Tour 153292 63852 167807 109% 263%

Logistics 2451 3721 24928 1017% 670%9 Board Tic-Tac-Toe 2011 3366 18024 896% 535%

Othello 9 71 67 744% 94%Pacman 1143 812 7109 622% 875%Pentago 950 1571 1439 151% 92%

Pentago Suicide 920 1577 1431 156% 91%Pilgrimage 316 983 986 312% 100%

Platform Jumpers 11 188 45 409% 24%Quarto 2979 4465 19337 649% 433%

Sheep and Wolf 1753 991 11643 664% 1175%Tic-Tac-Toe 51295 28057 109374 213% 390%

Zhadu 238 852 596 250% 70%

Średnia 556% 401%Liczba miejsc

1/2/3 0 - 9 - 19 5 - 14 - 9 23 - 5 - 0

20