An evolutionary algorithm with a history mechanism for tuning a chess evaluation function

Here, we propose an evolutionary algorithm (i.e., evolutionary programming) for tuning the weights of a chess engine. Most of the previous work in this area has normally adopted co-evolution (i.e., tournaments among virtual players) to decide which players will pass to the following generation, depending on the outcome of each game. In contrast, our proposed method uses evolution to decide which virtual players will pass to the next generation based on the number of positions solved from a number of chess grandmaster games. Using a search depth of 1-ply, our method can solve 40.78% of the positions evaluated from chess grandmaster games (this value is higher than the one reported in the previous related work). Additionally, our method is capable of solving 53.08% of the positions using a historical mechanism that keeps a record of the ''good'' virtual players found during the evolutionary process. Our proposal has also been able to increase the competition level of our search engine, when playing against the program Chessmaster (grandmaster edition). Our chess engine reached a rating of 2404 points for the best virtual player with supervised learning, and a rating of 2442 points for the best virtual player with unsupervised learning. Finally, it is also worth mentioning that our results indicate that the piece material values obtained by our approach are similar to the values known from chess theory.

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

[2]  Moshe Sipper,et al.  Evolution of an Efficient Search Algorithm for the Mate-In-N Problem in Chess , 2007, EuroGP.

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

[4]  Janez Brest,et al.  History mechanism supported differential evolution for chess evaluation function tuning , 2010, Soft Comput..

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

[6]  Feliu Sagols,et al.  An adaptive evolutionary algorithm based on typical chess problems for tuning a chess evaluation function , 2011, GECCO.

[7]  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.

[8]  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).

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

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

[11]  Nathan S. Netanyahu,et al.  Expert-driven genetic algorithms for simulating evaluation functions , 2010, Genetic Programming and Evolvable Machines.

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

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

[14]  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.

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

[16]  Feliu Sagols,et al.  An evolutionary algorithm for tuning a chess evaluation function , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

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

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

[19]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1996, Springer Berlin Heidelberg.

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

[21]  Moshe Sipper,et al.  GP-EndChess: Using Genetic Programming to Evolve Chess Endgame Players , 2005, EuroGP.

[22]  Zbigniew Michalewicz,et al.  Genetic algorithms + data structures = evolution programs (2nd, extended ed.) , 1994 .

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

[24]  Uday K. Chakraborty,et al.  Advances in Differential Evolution , 2010 .

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

[26]  H. Jaap van den Herik,et al.  Simulating human grandmasters: evolution and coevolution of evaluation functions , 2009, GECCO.

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