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:


Computer Go

Why is Computer Go considered "hard"?

Chess positions per move: 
1, 20, 400, 5362, ...

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.




;!oplay_attack_either(a,c,D,c) && !oplay_attack_either(c,a,E,a)



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


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

Move 37

"That's a very strange move"



Scenethink (event data platform):

Arqball (computer vision and visualization):

Michael Holroyd
Made with Slides.com