From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * NeuroChess

an experimental program which learns to play chess from the final outcome of games written by Sebastian Thrun in the early mid 90s, at that time at Carnegie Mellon University supported by Tom Mitchell and in particular on the domain of chess advised by Hans Berliner [1] . NeuroChess took its search algorithm from GNU Chess but its evaluation was based on neural networks to integrate inductive neural network learning, temporal difference learning, and a variant of explanation-based learning [2] [3] .


Using the raw board representaion as input representation of a neural network is a poor choice, since small changes on the board can cause huge differences in value contrasting the smooth nature of neural network representations. Therefore NeuroChess maps its internal board into a set of 175 carefully designed features. A specially trained, but otherwise conventional three layer feed forward neural network (V) with one final output maps the feature vector to an evaluation score.

The evaluation network V was trained by backpropagation and the temporal difference method (TD(0)), utilizing a second neural network, an explanation based neural network (EBNN) dubbed the chess model M, which maps 175 inputs via 165 hidden units to 175 outputs, and aims to predict the (important) board features two plies ahead. This network M is trained independently prior to V to incorporate supervised domain knowledge.


Learning an evaluation function in NeuroChess. Boards are mapped into a high-dimensional Feature vector, which forms the input for both the evaluation network V and the chess model M. The evaluation network is trained by Backpropagation and the TD(O) procedure. Both networks are employed for analyzing training example in order to derive target slopes for V. [4]


After training M with 120,000 grandmaster games, and training V with a further 2400 games, NeuroChess managed to beat GNU Chess in about 13% of the time at fixed depth 2 games, but only in 10% without EBNN. Further, computing a large neural network function took two orders of magnitude longer than evaluating the linear evaluation function of GNU Chess.

See also


Forum Posts

External Links


  1. Sebastian Thrun (1995). Learning to Play the Game of Chess. Acknowledgment
  2. Sebastian Thrun, Tom Mitchell (1993). Integrating Inductive Neural Network Learning and Explanation-Based Learning. IJCAI 1993, zipped ps
  3. Sebastian Thrun (1995). Explanation-Based Neural Network Learning - A Lifelong Learning Approach. Ph.D. thesis, University of Bonn
  4. Figure 2 from Sebastian Thrun (1995). Learning to Play the Game of Chess. pdf

Up one level