Go (boardgame)
beCamp 2018
Michael Holroyd, Ph.D.
History of Go
Go originated at least 2500 - 4000 years ago in China. It is the oldest game still played in its original form.
400-300 BC, Chinese scholars such as Confucius wrote about Go to illustrate correct thinking about filial piety and human nature.
In 1000 AD, it is in Japan and is seen in Murasaki's The Tale of Genji (first "novel" ever written)
by 1600's playing Go is one of the "Four Accomplishments" (with calligraphy, painting, and playing the lute) that must be mastered by the Chinese gentleman.
19 x 19 board, with black and white stones
Players alternate placing a stone (or passing)
Rule 1. A stone or solidly connected group of stones of one color is captured and removed from the board when all the intersections directly adjacent to it are occupied by the enemy. (Capture of the enemy takes precedence over self-capture.)
Rule 2. "Ko" - No position on the board may be recreated twice (prevents annoying back and forth)
Rule 3. Scoring
Territory surrounded (not occupied) + captured stones
Quick Example 9x9 Game:
https://www.britgo.org/intro/intro3
Computer Go
Why is Computer Go considered "hard"?
Chess positions per move:
1, 20, 400, 5362, ...
http://oeis.org/A083276
Go positions per move:
361, 129960, 46655640, 16702719120, ...
Computer Go
Chess made significant progress using quick "position quality" estimation, and searching along paths with good positions. 1997:
Computer Go
Both the "position quality" estimation and the "search" problem are significantly more difficult in Go.
State-of-the-art in Go in 2008 was based on pattern-matching and search tree pruning. Actually fascinating code!
GnuGo: http://git.savannah.gnu.org/cgit/gnugo.git
Pattern Nonterritory59
# gf New pattern. (3.7.2)
# See gunnar:58.
?OOX
X...
?OO?
:8,t
?OOE
Dabc
?OO?
;!oplay_attack_either(a,c,D,c) && !oplay_attack_either(c,a,E,a)
>non_oterritory(b);
post-2008
Computers finally fast enough for Monte-Carlo techniques
Monte-Carlo Tree Search (MCTS)
1. From any position, use a "dumb/fast" AI to play 100,000s of quick games to completion.
2. Even though these won't look like "real games", the percentage of "wins" is a good proxy for the quality of the board position
2008: Sudden, massive improvement in Computer Go ranking over previous approaches, but still not approaching professional play
AlphaGo
Started in 2014 funded by Alphabet (Google). Essentially uses MCTS but trains a position quality ranking from deep neural net.
2016 AlphaGo has already beat a professional player, and is facing off against one of the worlds top players, Lee Sedol.
Spoiler Alert: Lee Sedol loses 4 - 1
Thanks!
Scenethink (event data platform):
http://scenethink.com
Arqball (computer vision and visualization):
http://arqball.com
Michael Holroyd
http://meekohi.com