The oriental game of Go is increasingly recognized as the "grand challenge" of Artificial Intelligence (AI). So far, traditional AI approaches have resulted in programs that play at the level of a human amateur. Engineering Go knowledge into a Go playing program has proven to be a difficult task, a machine learning approach might therefore be successful. In this study, a supervised learning approach is used to learn to distinguish good moves from bad moves. This is done by training a neural network on a database of moves played by human players. The network's performance is measured on a prediction task. Three main research directions can be identified in this study. The first direction relates to the features used to encode a position in the game of Go. Specifically, an attempt is made to capture global information into a local area. The second research direction addresses the methodology of supervised learning. In order to gain some insight in the ability of a neural network to extract the knowledge used by human experts, both professional and human amateur games are used in the training process. Furthermore, games used in the training sets are decomposed to test whether knowledge obtained in a specific part of the game can be applied to the entire game. The last research direction is an attempt to uncover the relation between move prediction accuracy and playing strength. Results show that (1) capturing global information leads to a significantly higher prediction performance, (2) professional games do not necessarily provide a better base for achieving a high prediction score than amateur games, (3) knowledge obtained from one part of the game does not generalize over the entire game, and (4) no strong claims can be made regarding the relation between prediction accuracy and playing strength, at least for the program used in this study.
|Place of Publication||Enschede|
|Publisher||University of Twente|
|Number of pages||73|
|Publication status||Published - 29 Apr 2005|