An evolutionary algorithm for tuning a chess evaluation function

This paper proposes a method for tuning the weights of the evaluation function of a chess program whose search engine is based on evolutionary programming. In our proposed approach, each individual in the population of the evolutionary algorithm represents a virtual player with specific weights of its evaluation function. This differs from most of the previous approaches reported in the literature, in which normally a tournament between virtual players is held, and the final result (win, loss or draw) is used to decide which players will pass to the following generation. The selection mechanism of our proposed algorithm uses games from chess grandmasters to decide which virtual player will pass to the following generation. Our results indicate that the weight values obtained by our approach are similar to the values known from chess theory. Additionally, the standard deviation from the different runs performed, are lower than those reported by authors of previous related approaches.

[1]  David B. Fogel,et al.  Further Evolution of a Self-Learning Chess Program , 2005, CIG.

[2]  Donald F. Beal,et al.  Learning Piece Values Using Temporal Differences , 1997, J. Int. Comput. Games Assoc..

[3]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1992, Artificial Intelligence.

[4]  Lawrence J. Fogel,et al.  Artificial Intelligence through Simulated Evolution , 1966 .

[5]  Romeo Çollaku,et al.  Deep thought , 1991, Nature.

[6]  David B. Fogel,et al.  The Blondie25 Chess Program Competes Against Fritz 8.0 and a Human Chess Master , 2006, 2006 IEEE Symposium on Computational Intelligence and Games.

[7]  Janez Brest,et al.  An Adaptive Differential Evolution Algorithm with Opposition-Based Mechanisms, Applied to the Tuning of a Chess Program , 2008 .

[8]  Claude E. Shannon,et al.  Programming a computer for playing chess , 1950 .

[9]  Graham Kendall,et al.  An evolutionary approach for the tuning of a chess evaluation function using population dynamics , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[10]  Donald F. Beal,et al.  Learning Piece-square Values using Temporal Differences , 1999, J. Int. Comput. Games Assoc..

[11]  Sebastian Thrun,et al.  Learning to Play the Game of Chess , 1994, NIPS.

[12]  H. J. van den Herik,et al.  Information in transposition tables , 1997 .

[13]  Michael Buro,et al.  Tuning evaluation functions by maximizing concordance , 2005, Theor. Comput. Sci..

[14]  D. Hunter MM algorithms for generalized Bradley-Terry models , 2003 .

[15]  Claude E. Shannon,et al.  XXII. Programming a Computer for Playing Chess 1 , 1950 .

[16]  Donald F. Beal,et al.  A Generalised Quiescence Search Algorithm , 1990, Artif. Intell..

[17]  D.B. Fogel,et al.  A self-learning evolutionary chess program , 2004, Proceedings of the IEEE.

[18]  H. Nasreddine,et al.  Using an Evolutionary Algorithm for the Tuning of a Chess Evaluation Function Based on a Dynamic Boundary Strategy , 2006, 2006 IEEE Conference on Cybernetics and Intelligent Systems.

[19]  Donald E. Knuth,et al.  An Analysis of Alpha-Beta Pruning , 1975, Artif. Intell..

[20]  Janez Brest,et al.  A Differential Evolution for the Tuning of a Chess Evaluation Function , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[21]  Thomas Ellman,et al.  Explanation-based learning: a survey of programs and perspectives , 1989, CSUR.