SlideShare a Scribd company logo
Monte Carlo Tree Search
Marika Ivanová
23. 10. 2012
Obsah
   Představení
    ◦ Základní vlastnosti
    ◦ Oblast použití
    ◦ Bandit Problem
   Popis metody
    ◦   Algoritmus
    ◦   UCT
    ◦   Charakteristika
    ◦   Terminologie
 Vylepšení a Heuristiky
 Aplikace

                            MCTS, Marika Ivanová 2012   2
Vlastnosti
   Metoda hledání optimálních rozhodnutí
   Zkoumáním náhodných vzorků postupně buduje
    prohledávací strom
   Rozšířeno u her s náhodnými prvky nebo částečně
    pozorovatelným světem
   Překvapivý úspěch u některých deterministických her s
    úplnou informací
    ◦   1993: První aplikace MC metod ve hře Go [1]

    ◦   2006: Mimořádně úspěšná aplikace MCTS v Go[2]

    ◦   2009: MoHex vítěz turnaje ve hře Hex [3]



                                                        MCTS, Marika Ivanová 2012   3
Vlastnosti
   Best-first search

   Nepotřebuje doménově závislou heuristiku

   Základní algoritmus iterativně buduje prohledávací strom, dokud není
    dosaženo stanoveného limitu

   Dle zvolené strategie se určí nejvhodnější vrchol aktuálního stromu

   Simulace probíhá z vybraného vrcholu
    až do dosažení koncového stavu

   Aktualizace stromu na základě
    výsledku simulace




                                              MCTS, Marika Ivanová 2012    4
Důvod použití
   Máme přeci α-β s mnoha heuristikami
    ◦ Iterative deepening
    ◦ Killer heuristic
    ◦ Null move heuristic
    ◦ History heuristic
    ◦ Transposition tables
    ◦ …

   Šachové počítače porážejí velmistry
    ◦     Kasparov vs. Deep Blue (1996)


                                          MCTS, Marika Ivanová 2012   5
Důvod použití
   U některých her jsou
    standardní postupy
    neúspěšné
    ◦ Příliš velký stavový prostor
       Šachy: 10126   Go: 10360

    ◦ Obtížné ohodnocování
       Závisí na konkrétní aplikaci

    ◦ Náročná pravidla
      prořezávání


                                       MCTS, Marika Ivanová 2012   6
Bandit problem
   K-armed bandit je problém strojového učení
   K automatů na mince, vždy jeden vybereme a
    dostaneme odměnu dle distribuce přiřazené
    každému automatu
   Cílem je maximalizovat celkovou odměnu
   Distribuce nejsou na začátku známy
   Opakovanými pokusy se můžeme
    soustředit na nejvýhodnější
    automaty


                                     MCTS, Marika Ivanová 2012   7
Bandit problem
   Exploitation-exploration dilema
    ◦ Dále využívat nejlépe vyhlížející rameno, nebo prozkoumávat méně slibná
      ramena za účelem získání lepší znalosti o nich?

   Náhodné proměnné
      označuje očekávanou odměnu ramene
   Ztráta po n hrách:




                      je nejlepší možná očekávaná odměna


                      je počet her ramenem j po n pokusech


                                                  MCTS, Marika Ivanová 2012     8
Bandit problem
   UCB – (Upper Confidence Bound)
   Strategie UCB1 [4]: očekávaný logaritmický nárůst
    ztráty
   Vybíráme rameno k, které splňuje výraz




             průměrná odměna z ramene j
             celkový počet her

                                 MCTS, Marika Ivanová 2012   9
Algoritmus
   Každý vrchol stromu reprezentuje stav dané domény

   Orientované hrany vedoucí do potomků představují akce
    vedoucí do následujících stavů

   Ohodnocení akce odhadnuto na základě náhodné
    simulace

   Postupně zjišťované hodnoty upravují strategii prohledávání

   Iterativní vytváření stromu až do vypršení limitu (čas,
    paměť,…)


                                       MCTS, Marika Ivanová 2012   10
Algoritmus
   Každá iterace obsahuje 4 kroky
    ◦ Selekce
                      Tree Policy
    ◦ Expanze
    ◦ Simulace        Default Policy

    ◦ Zpětné šíření




                                       MCTS, Marika Ivanová 2012   11
Algoritmus
   Výběr akce
    ◦ Max child – následník s nejvyšší odměnou
    ◦ Robust child – nejnavštěvovanější potomek
    ◦ Max Robust child – nejnavštěvovanější
     potomek se současně nejvyšší odměnou
    ◦ Secure child – potomek maximalizující dolní
     mez spolehlivosti

                              MCTS, Marika Ivanová 2012   12
UCT
   „ UCB + MCTS = UCT”
   Na vrcholy nahlížíme jako na
    Bandit Problem
   Každý potomek vrcholu je
    nezávislé rameno
   Následník k vrcholu je vybrán tak,
    aby splňoval




                                         MCTS, Marika Ivanová 2012   13
UCT
   Nastavováním konstanty        lze regulovat poměr
    explorace a exploitace
   Každý vrchol uchovává 2 hodnoty
    ◦     … počet návštěv
    ◦     … součet odměn provedených simulací




    ◦

                               MCTS, Marika Ivanová 2012   14
Charakteristika
   Zaniká potřeba doménově specifických znalostí
    ◦ Stačí umět rozpoznat koncový stav
    ◦ Na rozdíl od hloubkově omezeného minimaxu

   Nicméně přidáním doménově závislých heuristik
    dosáhneme zlepšení




                                  MCTS, Marika Ivanová 2012   15
Charakteristika
   Výsledek simulace se propaguje okamžitě
    ◦ Algoritmus se může kdykoli zastavit
    ◦ U minimaxu lze pomocí iterativního prohlubování
   Asymetrický strom
    ◦ Upřednostňování slibných tahů


         AHEURISTIC

         ANYTIME

         ASYMETRIC


                                        MCTS, Marika Ivanová 2012   16
Terminologie
Flat Monte Carlo   Náhodně vybírá potomky, nevytváří strom

Flat UCB           Nahlíží na výběr potomků jako na Bandit Problem,
                   nevytváří stom
MCTS               Vytváří strom (používá tree policy)

UCT                MCTS s libovolnou UCB policy

Plain UCT          MCTS využívající UCB1




                                          MCTS, Marika Ivanová 2012   17
Vylepšení a heuristiky
                     Doménově závislé
                     Doménově nezávislé


   Tree Policy                          Ostatní
    ◦ Bandit Based
                                          ◦ Simulace
    ◦ Selekce
                                          ◦ Zpětné šíření
    ◦ All Moves as First (AMAF)
                                          ◦ Paralelizace
    ◦ Prořezávání



                                          MCTS, Marika Ivanová 2012   18
Vylepšení a heuristiky
   Bandit Based:
    ◦ UCB1 – Tuned ,…
   Vylepšení selekce
    ◦ First Play Urgency (FPU)[8]
       U běžného UCT musí být před expanzí vrcholu rozvinuti
        všichni jeho sourozenci
       Problém u velkých větvících faktorů
       FPU: Ohodnocuje nenavštívené vrcholy pevnou hodnotou,
        navštívené běžným UCB1


                                        MCTS, Marika Ivanová 2012   19
Vylepšení a heuristiky
 ◦ Rozhodující tahy
    Tahy vedoucí k okamžitému vítězství

    Má-li hráč rozhodující tah, zahraje ho

    Výhodné, časově náročnější

 ◦ Skupiny tahů
    Redukce větvícího faktoru

    Shlukování tahů do skupin

    UCB1 pro určení skupiny, ze které se vybere tah

                                   MCTS, Marika Ivanová 2012   20
Vylepšení a heuristiky
 ◦ Transpozice
    MCTS vytváří strom, hry mohou být často reprezentovány
       jako DAG
    Transpoziční tabulky lze využít ve fázi selekce

 ◦ Progressive Bias
    Přidání doménově specifické heuristická znalosti pro MCTS
    Málo navštěvované uzly nemají spolehlivě určenou hodnotu
    Formuli určující výběr následníka rozšíříme o výraz
             počet návštěv uzlu i
             Heuristická hodnota uzlu i

                                       MCTS, Marika Ivanová 2012   21
Vylepšení a heuristiky
    ◦ Databáze zahájení
       Jsou-li v databázi nalezeny pozice a odpovídající tahy, hrají se
       Naopak možno využít MCTS pro vytvoření DB

   All Moves As First (AMAF) [9]
    ◦ Basic AMAF
       Po simulaci aktualizujeme nejen vrcholy, přes které se prošlo, ale i
        některé jejich sourozence odpovídající danému tahu




                                                 MCTS, Marika Ivanová 2012     22
Vylepšení a heuristiky
 ◦ α-AMAF
    Sloučení updatu z UCT i AMAF pro každý vrchol
    α krát AMAF, (1- α) krát UCT

 ◦ RAVE (Rapid Action Value Estimation)
    α pro každý uzel zvlášť
    Hodnota α se snižuje podle
     zvoleného parametru p:

 ◦ Some First
    Ze simulované posloupnosti tahů se pro update využije pouze
     prvních m tahů

                                      MCTS, Marika Ivanová 2012    23
Vylepšení a heuristiky
   Prořezávání
    Soft pruning: tahy mohou být později opět vybrány vs .
    Hard pruning: tahy se nikdy znovu nevyberou



    ◦ Progressive unpruning
       Dočasné snížení větvícího faktoru
       U vrcholu, který překročí stanovený práh T




                                             MCTS, Marika Ivanová 2012   24
Vylepšení a heuristiky
   Simulace
    ◦ V základní variantě náhodné
    ◦ Možno zahrnout doménovou znalost (online,
     offline)
   Zpětné šíření
    ◦ Vážení výsledku simulace
      Pozdější a krátké simulace bývají přesnější
      Přidání váhy w do procesu zpětného šíření

                                     MCTS, Marika Ivanová 2012   25
Aplikace
   Hry dvou hráčů s úplnou informací
    ◦ Vynikající výsledky v Go, Hex, (Reversi)
    ◦ U většiny ostatních her (šachy, shogi, arimaa,…)
     pouze průměrné výsledky




                                 MCTS, Marika Ivanová 2012   26
Aplikace
   Hry jednoho hráče s úplnou informací
    (puzzle)
       Lloydova 8 (15), Sokoban - tradičně A*, IDA*
       MCTS varianty úspěšné např. u SameGame[5], Sudoku

   General Game Playing
    ◦ Snaha vytvořit agenta, který dokáže hrát více než jednu hru
    ◦ Zajímavé výsledky při použití MCTS metod
    ◦ Mnoho prostoru pro další výzkum

                                      MCTS, Marika Ivanová 2012   27
Aplikace
   Real-time MCTS
    ◦ Pac-Man [6]

    ◦ Capture the Flag [7]

    ◦ Množství pokusů na komplexnějších RTS, v
     kombinaci s dalšími algoritmy




                              MCTS, Marika Ivanová 2012   28
Aplikace
   Nedeterministické hry
    ◦ Skrytá informace a/nebo náhodný prvek

    ◦ Výrazně zvětšuje herní strom

    ◦ Nejlepší počítačový Poker
       Schopnost nalezení Nashových equilibrií

    ◦ Solitaire


                                  MCTS, Marika Ivanová 2012   29
Aplikace
   Ne-herní aplikace
    ◦ Hodnocení zranitelnosti bezpečnostních
     biometrických systémů
    ◦ Plánovací problémy
    ◦ Optimalizační úlohy (obchodní cestující,
     hledání nejkratších cest)



                                 MCTS, Marika Ivanová 2012   30
Shrnutí
Výhody                                  Nevýhody
Doménová znalost není nezbytná          Náročné hledání parametrů
Nevhodná znalost výrazně nesnižuje      Nevhodné u některých typů stavových
kvalitu                                 prostorů

Bližší lidskému přístupu prohledávání   Špatně předvídatelné chování
Jednoduchost



 Aktuální téma
 Široké možnosti dalšího výzkumu



                                             MCTS, Marika Ivanová 2012    31
Děkuji za pozornost.




                  MCTS, Marika Ivanová 2012   32
Zdroje
   [1] Brügmann: Monte Carlo Go,1993.
   [2] Coquelin, Munos: Bandit Algorithms for Tree Search, 2006
   [3] Arneson, Hayward, Henderson: MoHex Wins Hex Tournament,
    2009
   [5] Schadd et Al.: Single-Player Monte-Carlo Tree Search, 2008
   [6] Samothrakis, Robles, Lucas: Fast Approximate Max-n Monte
    Carlo Tree Search for Ms Pac-Man, 2010
   [7] Chung, Buro, Schaeffer: Monte Carlo Planning in RTS Games, 2005
   [8] Lucas, Browne et Al. A Survey of MCTS, 2012
   [9] All-Moves-As-First Heuristic in Monte-Carlo Go, 2009


                                          MCTS, Marika Ivanová 2012       33

More Related Content

PDF
A Markov Chain Monte Carlo approach to the Steiner Tree Problem in water netw...
PPTX
Application of Monte Carlo Tree Search in a Fighting Game AI (GCCE 2016)
PDF
Bayesian intro
PDF
"Monte-Carlo Tree Search for the game of Go"
PPT
Bayesian statistics using r intro
PPTX
An introduction to bayesian statistics
PDF
Introduction to Bayesian Methods
PDF
General game playing
A Markov Chain Monte Carlo approach to the Steiner Tree Problem in water netw...
Application of Monte Carlo Tree Search in a Fighting Game AI (GCCE 2016)
Bayesian intro
"Monte-Carlo Tree Search for the game of Go"
Bayesian statistics using r intro
An introduction to bayesian statistics
Introduction to Bayesian Methods
General game playing
Ad

Monte carlo tree search

  • 1. Monte Carlo Tree Search Marika Ivanová 23. 10. 2012
  • 2. Obsah  Představení ◦ Základní vlastnosti ◦ Oblast použití ◦ Bandit Problem  Popis metody ◦ Algoritmus ◦ UCT ◦ Charakteristika ◦ Terminologie  Vylepšení a Heuristiky  Aplikace MCTS, Marika Ivanová 2012 2
  • 3. Vlastnosti  Metoda hledání optimálních rozhodnutí  Zkoumáním náhodných vzorků postupně buduje prohledávací strom  Rozšířeno u her s náhodnými prvky nebo částečně pozorovatelným světem  Překvapivý úspěch u některých deterministických her s úplnou informací ◦ 1993: První aplikace MC metod ve hře Go [1] ◦ 2006: Mimořádně úspěšná aplikace MCTS v Go[2] ◦ 2009: MoHex vítěz turnaje ve hře Hex [3] MCTS, Marika Ivanová 2012 3
  • 4. Vlastnosti  Best-first search  Nepotřebuje doménově závislou heuristiku  Základní algoritmus iterativně buduje prohledávací strom, dokud není dosaženo stanoveného limitu  Dle zvolené strategie se určí nejvhodnější vrchol aktuálního stromu  Simulace probíhá z vybraného vrcholu až do dosažení koncového stavu  Aktualizace stromu na základě výsledku simulace MCTS, Marika Ivanová 2012 4
  • 5. Důvod použití  Máme přeci α-β s mnoha heuristikami ◦ Iterative deepening ◦ Killer heuristic ◦ Null move heuristic ◦ History heuristic ◦ Transposition tables ◦ …  Šachové počítače porážejí velmistry ◦ Kasparov vs. Deep Blue (1996) MCTS, Marika Ivanová 2012 5
  • 6. Důvod použití  U některých her jsou standardní postupy neúspěšné ◦ Příliš velký stavový prostor  Šachy: 10126 Go: 10360 ◦ Obtížné ohodnocování  Závisí na konkrétní aplikaci ◦ Náročná pravidla prořezávání MCTS, Marika Ivanová 2012 6
  • 7. Bandit problem  K-armed bandit je problém strojového učení  K automatů na mince, vždy jeden vybereme a dostaneme odměnu dle distribuce přiřazené každému automatu  Cílem je maximalizovat celkovou odměnu  Distribuce nejsou na začátku známy  Opakovanými pokusy se můžeme soustředit na nejvýhodnější automaty MCTS, Marika Ivanová 2012 7
  • 8. Bandit problem  Exploitation-exploration dilema ◦ Dále využívat nejlépe vyhlížející rameno, nebo prozkoumávat méně slibná ramena za účelem získání lepší znalosti o nich?  Náhodné proměnné  označuje očekávanou odměnu ramene  Ztráta po n hrách: je nejlepší možná očekávaná odměna je počet her ramenem j po n pokusech MCTS, Marika Ivanová 2012 8
  • 9. Bandit problem  UCB – (Upper Confidence Bound)  Strategie UCB1 [4]: očekávaný logaritmický nárůst ztráty  Vybíráme rameno k, které splňuje výraz průměrná odměna z ramene j celkový počet her MCTS, Marika Ivanová 2012 9
  • 10. Algoritmus  Každý vrchol stromu reprezentuje stav dané domény  Orientované hrany vedoucí do potomků představují akce vedoucí do následujících stavů  Ohodnocení akce odhadnuto na základě náhodné simulace  Postupně zjišťované hodnoty upravují strategii prohledávání  Iterativní vytváření stromu až do vypršení limitu (čas, paměť,…) MCTS, Marika Ivanová 2012 10
  • 11. Algoritmus  Každá iterace obsahuje 4 kroky ◦ Selekce Tree Policy ◦ Expanze ◦ Simulace Default Policy ◦ Zpětné šíření MCTS, Marika Ivanová 2012 11
  • 12. Algoritmus  Výběr akce ◦ Max child – následník s nejvyšší odměnou ◦ Robust child – nejnavštěvovanější potomek ◦ Max Robust child – nejnavštěvovanější potomek se současně nejvyšší odměnou ◦ Secure child – potomek maximalizující dolní mez spolehlivosti MCTS, Marika Ivanová 2012 12
  • 13. UCT  „ UCB + MCTS = UCT”  Na vrcholy nahlížíme jako na Bandit Problem  Každý potomek vrcholu je nezávislé rameno  Následník k vrcholu je vybrán tak, aby splňoval MCTS, Marika Ivanová 2012 13
  • 14. UCT  Nastavováním konstanty lze regulovat poměr explorace a exploitace  Každý vrchol uchovává 2 hodnoty ◦ … počet návštěv ◦ … součet odměn provedených simulací ◦ MCTS, Marika Ivanová 2012 14
  • 15. Charakteristika  Zaniká potřeba doménově specifických znalostí ◦ Stačí umět rozpoznat koncový stav ◦ Na rozdíl od hloubkově omezeného minimaxu  Nicméně přidáním doménově závislých heuristik dosáhneme zlepšení MCTS, Marika Ivanová 2012 15
  • 16. Charakteristika  Výsledek simulace se propaguje okamžitě ◦ Algoritmus se může kdykoli zastavit ◦ U minimaxu lze pomocí iterativního prohlubování  Asymetrický strom ◦ Upřednostňování slibných tahů AHEURISTIC ANYTIME ASYMETRIC MCTS, Marika Ivanová 2012 16
  • 17. Terminologie Flat Monte Carlo Náhodně vybírá potomky, nevytváří strom Flat UCB Nahlíží na výběr potomků jako na Bandit Problem, nevytváří stom MCTS Vytváří strom (používá tree policy) UCT MCTS s libovolnou UCB policy Plain UCT MCTS využívající UCB1 MCTS, Marika Ivanová 2012 17
  • 18. Vylepšení a heuristiky Doménově závislé Doménově nezávislé  Tree Policy  Ostatní ◦ Bandit Based ◦ Simulace ◦ Selekce ◦ Zpětné šíření ◦ All Moves as First (AMAF) ◦ Paralelizace ◦ Prořezávání MCTS, Marika Ivanová 2012 18
  • 19. Vylepšení a heuristiky  Bandit Based: ◦ UCB1 – Tuned ,…  Vylepšení selekce ◦ First Play Urgency (FPU)[8]  U běžného UCT musí být před expanzí vrcholu rozvinuti všichni jeho sourozenci  Problém u velkých větvících faktorů  FPU: Ohodnocuje nenavštívené vrcholy pevnou hodnotou, navštívené běžným UCB1 MCTS, Marika Ivanová 2012 19
  • 20. Vylepšení a heuristiky ◦ Rozhodující tahy  Tahy vedoucí k okamžitému vítězství  Má-li hráč rozhodující tah, zahraje ho  Výhodné, časově náročnější ◦ Skupiny tahů  Redukce větvícího faktoru  Shlukování tahů do skupin  UCB1 pro určení skupiny, ze které se vybere tah MCTS, Marika Ivanová 2012 20
  • 21. Vylepšení a heuristiky ◦ Transpozice  MCTS vytváří strom, hry mohou být často reprezentovány jako DAG  Transpoziční tabulky lze využít ve fázi selekce ◦ Progressive Bias  Přidání doménově specifické heuristická znalosti pro MCTS  Málo navštěvované uzly nemají spolehlivě určenou hodnotu  Formuli určující výběr následníka rozšíříme o výraz  počet návštěv uzlu i  Heuristická hodnota uzlu i MCTS, Marika Ivanová 2012 21
  • 22. Vylepšení a heuristiky ◦ Databáze zahájení  Jsou-li v databázi nalezeny pozice a odpovídající tahy, hrají se  Naopak možno využít MCTS pro vytvoření DB  All Moves As First (AMAF) [9] ◦ Basic AMAF  Po simulaci aktualizujeme nejen vrcholy, přes které se prošlo, ale i některé jejich sourozence odpovídající danému tahu MCTS, Marika Ivanová 2012 22
  • 23. Vylepšení a heuristiky ◦ α-AMAF  Sloučení updatu z UCT i AMAF pro každý vrchol  α krát AMAF, (1- α) krát UCT ◦ RAVE (Rapid Action Value Estimation)  α pro každý uzel zvlášť  Hodnota α se snižuje podle zvoleného parametru p: ◦ Some First  Ze simulované posloupnosti tahů se pro update využije pouze prvních m tahů MCTS, Marika Ivanová 2012 23
  • 24. Vylepšení a heuristiky  Prořezávání Soft pruning: tahy mohou být později opět vybrány vs . Hard pruning: tahy se nikdy znovu nevyberou ◦ Progressive unpruning  Dočasné snížení větvícího faktoru  U vrcholu, který překročí stanovený práh T MCTS, Marika Ivanová 2012 24
  • 25. Vylepšení a heuristiky  Simulace ◦ V základní variantě náhodné ◦ Možno zahrnout doménovou znalost (online, offline)  Zpětné šíření ◦ Vážení výsledku simulace  Pozdější a krátké simulace bývají přesnější  Přidání váhy w do procesu zpětného šíření MCTS, Marika Ivanová 2012 25
  • 26. Aplikace  Hry dvou hráčů s úplnou informací ◦ Vynikající výsledky v Go, Hex, (Reversi) ◦ U většiny ostatních her (šachy, shogi, arimaa,…) pouze průměrné výsledky MCTS, Marika Ivanová 2012 26
  • 27. Aplikace  Hry jednoho hráče s úplnou informací (puzzle)  Lloydova 8 (15), Sokoban - tradičně A*, IDA*  MCTS varianty úspěšné např. u SameGame[5], Sudoku  General Game Playing ◦ Snaha vytvořit agenta, který dokáže hrát více než jednu hru ◦ Zajímavé výsledky při použití MCTS metod ◦ Mnoho prostoru pro další výzkum MCTS, Marika Ivanová 2012 27
  • 28. Aplikace  Real-time MCTS ◦ Pac-Man [6] ◦ Capture the Flag [7] ◦ Množství pokusů na komplexnějších RTS, v kombinaci s dalšími algoritmy MCTS, Marika Ivanová 2012 28
  • 29. Aplikace  Nedeterministické hry ◦ Skrytá informace a/nebo náhodný prvek ◦ Výrazně zvětšuje herní strom ◦ Nejlepší počítačový Poker  Schopnost nalezení Nashových equilibrií ◦ Solitaire MCTS, Marika Ivanová 2012 29
  • 30. Aplikace  Ne-herní aplikace ◦ Hodnocení zranitelnosti bezpečnostních biometrických systémů ◦ Plánovací problémy ◦ Optimalizační úlohy (obchodní cestující, hledání nejkratších cest) MCTS, Marika Ivanová 2012 30
  • 31. Shrnutí Výhody Nevýhody Doménová znalost není nezbytná Náročné hledání parametrů Nevhodná znalost výrazně nesnižuje Nevhodné u některých typů stavových kvalitu prostorů Bližší lidskému přístupu prohledávání Špatně předvídatelné chování Jednoduchost  Aktuální téma  Široké možnosti dalšího výzkumu MCTS, Marika Ivanová 2012 31
  • 32. Děkuji za pozornost. MCTS, Marika Ivanová 2012 32
  • 33. Zdroje  [1] Brügmann: Monte Carlo Go,1993.  [2] Coquelin, Munos: Bandit Algorithms for Tree Search, 2006  [3] Arneson, Hayward, Henderson: MoHex Wins Hex Tournament, 2009  [5] Schadd et Al.: Single-Player Monte-Carlo Tree Search, 2008  [6] Samothrakis, Robles, Lucas: Fast Approximate Max-n Monte Carlo Tree Search for Ms Pac-Man, 2010  [7] Chung, Buro, Schaeffer: Monte Carlo Planning in RTS Games, 2005  [8] Lucas, Browne et Al. A Survey of MCTS, 2012  [9] All-Moves-As-First Heuristic in Monte-Carlo Go, 2009 MCTS, Marika Ivanová 2012 33