|Microsoft Research takes on Go|
|Thursday, 30 December 2010|
Microsoft Research has used F# and AI to implement a consumer-quality game of Go - arguably the most difficult two-person game to implement.
A lot of time has been spent on creating AI that can play the Chinese board game Go. If you don't know the game then the good news is that it only takes a few minutes to learn. The bad news is that even though the rules and objectives are simple, the game itself is stunningly complex and subtle. If you think chess is a good challenge you really do need to try your hand and brain at Go. The Chinese have a saying - Go takes just minutes to learn, but a lifetime to master.
The big problem with Go is its huge game tree. Chess, for example, provides around 20 moves at each branch but Go offers 200 per branch. The game tree's complexity far exceeds the number of atoms in the universe. What this means is that the search algorithms used for games such as chess simply waste too much time searching irrelevant areas.
Now Microsoft Research has tackled the problem and produced a polished XBox game - The Path of Go. You can download a demo of the game for free but if you want the full experience it will cost you 400 points (around $5).
The algorithm used is Monte Carlo based machine learning. The team trained the learning program on a quarter of a million expert game play records. Human experts report that a good move "has a good shape" and being an essentially 2D geometric game it makes sense to try and learn what patterns "have a good shape". In addition to ranking 2D patterns the game tree was searched using the "upper confidence intervals" algorithm which basically prunes the game tree so that the patterns that are explored are in more relevant areas of play.
The algorithms were implemented using F# and XNA was used to create full 3D story-based game for the XBox. To see what the end result looked like view the video.
|Last Updated ( Thursday, 30 December 2010 )|