Computing Elo Ratings of Move Patterns in the Game of Go

by Rémi Coulom. Accepted at the Computer Games Workshop 2007, Amsterdam, The Netherlands.


Move patterns are an essential method to incorporate domain knowledge into Go-playing programs. This paper presents a new Bayesian technique for supervised learning of such patterns from game records, based on a generalization of Elo ratings. Each sample move in the training data is considered as a victory of a team of pattern features. Elo ratings of individual pattern features are computed from these victories, and can be used in previously unseen positions to compute a probability distribution over legal moves. In this approach, several pattern features may be combined, without an exponential cost in the number of features. Despite a very small number of training games (652), this algorithm outperforms most previous pattern-learning algorithms, both in terms of mean log-evidence (-2.69), and prediction rate (34.9%). A 19x19 Monte-Carlo program improved with these patterns reached the level of the strongest classical programs.



Here you can download a GTP engine, for Windows and Linux. It is designed to work with GoGui's analyze feature, as shown in the screenshot below.

screen shot of Crazy Patterns

You can also download the C++ source code of the MM implementation I used for Crazy Stone: