Machine Learning in the Game of Go
The game of Go is one of the oldest
and most popular board games in the world, combining simple rules with
high strategic complexity. As the last remaining "computer-friendly"
(finite, discrete, zero-sum, perfect information, etc.) game in which
the world's best computer programs still play below amateur level,
it is also considered one of the "grand challenges" of artificial
intelligence.
We have collected millions of recorded Go games between human players.
This rich source of data could be explored by machine learning in a number
of ways. Interesting questions include:
- Openings:
- Can we build a good Go opening book from these recorded games?
- Influence:
- Can we learn an
influence function that is optimized by the openings that humans play?
- Life and Death:
- Can we learn to predict which groups of stones will survive and which won't?
- Evaluation:
- Can we learn to predict the score from the current board position?
- Scoring:
- Can we learn to score a finished game? (Yes, even that's very hard
for computers!)
Challenges include how to detect and reject contaminated data, how to
organize very large, efficient data structures in limited memory, how
to do efficient machine learning on large amounts of data, and
how to recognize equivalent positions under reflection, rotation, and/or
swapping the players' colors. You should be a proficient programmer
and comfortable in a Unix/Linux environment. Prior knowledge of Go is
not required; through this project you will learn much about this
fascinating game.
06/06 - N. Schraudolph