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.

 

Banner

 

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.

 

PathofGo

 

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.

 

Banner


Neural Networks Learn How To Run A Motor
18/02/2025

Neural Networks are great at learning patterns and this makes them potentially very good at controlling difficult things. For example, a neural network can learn to balance a pole on its point. But do [ ... ]



JetBrains Reports On Software Quality
05/02/2025

JetBrains has released the results of its inaugural annual report  of State of Software Quality Report by Qodana. This research was conducted to gain a deeper understanding of best practices for  [ ... ]


More News

Last Updated ( Thursday, 30 December 2010 )