parallelization in computer board games ian princivalli
TRANSCRIPT
![Page 1: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/1.jpg)
Parallelization in Computer Board GamesIan Princivalli
![Page 2: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/2.jpg)
Introduction
“Solved” Game
Ultra-weak
Weak
Strong
Current Efforts
Chess
Shogi
Reversi (Othello)
Go
![Page 3: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/3.jpg)
Computer Go
General Overview
19 x 19 board with intersections
Objective: Have the most territory
Black and white stones surround and capture
Programming Challenges
3N possible board positions where N =
size of board (19 x 19 board has 361)
Evaluating function
Endgame
![Page 4: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/4.jpg)
How Parallel Computation fits in
Most popular design philosophies
Tree searching
Application of Monte Carlo methods
Pattern matching and knowledge based systems
Machine learning
![Page 5: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/5.jpg)
Example: MoGo
MCTS (UCT)
UCT (Upper Conditional bounds for Trees)
Balance out exploration and exploitation
![Page 6: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/6.jpg)
Example: MoGo continued
Utilizes both multicore parallelization for shared memory and cluster parallelization with message passing
![Page 7: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/7.jpg)
Example: MoGo final
In a 2008 Taiwan Go tournament MoGo was able to defeat professional Go player Myungwan Kim (8p) 2 out of 4 matches with a 9 stone handicap.
Professionals gave MoGo an approximate ranking of 2d and Kim himself noted that with more time MoGo would have fared better
![Page 8: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/8.jpg)
Limitations of Improvement via Parallelization
Increased computation seems to have diminishing returns
In a 2009 Computer Olympiad, Zen, a program running on a single four-core machine took first place over second place Fuego, running on ten, eight-core machines and third place MoGo, running on twenty, thirty-two core machines
In general MCTS cannot reliably solve certain situations, e.g. cases involving visual elements or other human sophisticated techniques and therefore parallelization of said MCTS does nothing for these cases
Improvement algorithmically seems to proceed improvement via parallelization
e.g. some later iterations of MCTS (UCT) based Computer Go programs have accommodated expert heuristics when these edge cases arise
![Page 9: Parallelization in Computer Board Games Ian Princivalli](https://reader036.vdocuments.net/reader036/viewer/2022082713/5697bf941a28abf838c90413/html5/thumbnails/9.jpg)
Questions?