Computing "Elo Ratings" of Move Patterns in the Game of Go

  title={Computing "Elo Ratings" of Move Patterns in the Game of Go},
  author={R{\'e}mi Coulom},
  journal={J. Int. Comput. Games Assoc.},
  • Rémi Coulom
  • Published 2007
  • Computer Science
  • J. Int. Comput. Games Assoc.
Move patterns are an essential method to incorporate do- main 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 victo- ries, and can be used in previously unseen positions to compute a prob- ability… 

Figures and Tables from this paper

Only-One-Victor Pattern Learning in Computer Go

A supervised learning method, by introducing a new generalized Bradley-Terry model, named Only-One-Victor to learn patterns from game records, which outperforms Elo rating, a well-known best supervised pattern learning method.

K-means Pattern Learning for Move Evaluation in the Game of Go

This paper proposes a method that reduce the complexity of Go by learning and extracting patterns from game records, which is more efficient and stronger than the baseline method chosen.

Move Prediction in the Game of Go

A novel move prediction system is created, based on a naive Bayes model, which builds upon the work of several previous move prediction systems and achieves competitive results in terms of move prediction accuracy when tested on professional games and high-ranking amateur games.

Using Patterns in Computer Go

A technique for retrieving patterns from a collection of records of games played between human expert players, storing patterns, and implementing patterns in a computer program for Go is presented.

On Move Pattern Trends in a Large Go Games Corpus

A large corpus of game records of the board game of Go is processed and a way of extracting summary information on played moves is proposed, and statistically significant mappings of the features such as playing strength or informally perceived “playing style” are shown.

M-eval: A Multivariate Evaluation Function for Opening Positions in Computer Go

M-eval is a multivariate evaluation function that provides a priori information for MCTS-based go programs and shows valuable improvement both in territorial gain and number of wins.


Writing programs to play the classical Asian game of Go is considered one of the grand challenges of artificial intelligence. Techniques used in a strong Go program would likely be applicable to

Selecting Pattern Shapes to Build Up An Evaluation Function for Connect-6 Game

The patterns of the pattern shapes will be weighted by Bradley-Terry Minorization Maximization before they are used to be built an action evaluation function for Monte Carlo Tree Search program.

Predicting Dominance Rankings for Score-Based Games

This paper analyzes how many games are needed under two popular ranking algorithms, Glicko and Bayes Elo, before one can infer the strength of the players, according to the proposed solution concept, without performing an exhaustive evaluation.

Sample Evaluation for Action Selection in Monte Carlo Tree Search

This work proposes a technique combining sampling from the action space with a naïve evaluation function for identifying nodes to add to the tree when using MCTS in cases where the branching factor is large.



Bayesian pattern ranking for move prediction in the game of Go

A probability distribution over legal moves for professional play in a given position in Go is obtained and shows excellent prediction performance as indicated by its ability to perfectly predict the moves made by professional Go players in 34% of test positions.

Move Prediction in Go with the Maximum Entropy Method

This work uses the relative frequencies of local board patterns observed in game records to generate a ranked list of moves, and then applies the maximum entropy method (MEM) to the list to re-rank the moves.

Machine Learning, Game Play, and Go

An error function based on a database of master games is defined which is used to formulate the learning of go as an optimization problem, and a classification technique called pattern preference is presented which is able to automatically derive patterns representative of good moves.

Local Move Prediction in Go

A system that learns to predict local strong expert moves in the game of Go at a level comparable to that of strong human kyu players is presented and experiments suggest that local move prediction will be a significant factor in enhancing the strength of Go programs.

TrueSkillTM: A Bayesian Skill Rating System

We present a new Bayesian skill rating system which can be viewed as a generalisation of the Elo system used in Chess. The new system tracks the uncertainty about player skills, explicitly models

Modification of UCT with Patterns in Monte-Carlo Go

A Monte-Carlo Go program, MoGo, which is the first computer Go program using UCT, is developed, and the modification of UCT for Go application is explained and also the intelligent random simulation with patterns which has improved significantly the performance of MoGo.

Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search

A new framework to combine tree search with Monte-Carlo evaluation, that does not separate between a min-max phase and a Monte- carlo phase is presented, that provides finegrained control of the tree growth, at the level of individual simulations, and allows efficient selectivity.

Associating domain-dependent knowledge and Monte Carlo approaches within a Go program

Iterative Widening

We propose a method to gradually expand the moves to consider at the nodes of game search trees. The algorithm is an extension of Abstract Proof Search, an algorithm that solves more problem than

Bayesian Generation and Integration of K-nearest-neighbor Patterns for 19x19 Go

The generation and utilisation of a pattern database for 19x19 go with the Knearest-neighbor representation and the improvement brought about by the use of this pattern database is estimated at 15 points on average, which is significant on go standards.