Expert-driven genetic algorithms for simulating evaluation functions

  • Omid David-TabibiEmail author
  • Moshe Koppel
  • Nathan S. Netanyahu
Contributed article


In this paper we demonstrate how genetic algorithms can be used to reverse engineer an evaluation function’s parameters for computer chess. Our results show that using an appropriate expert (or mentor), we can evolve a program that is on par with top tournament-playing chess programs, outperforming a two-time World Computer Chess Champion. This performance gain is achieved by evolving a program that mimics the behavior of a superior expert. The resulting evaluation function of the evolved program consists of a much smaller number of parameters than the expert’s. The extended experimental results provided in this paper include a report on our successful participation in the 2008 World Computer Chess Championship. In principle, our expert-driven approach could be used in a wide range of problems for which appropriate experts are available.


Computer chess Fitness evaluation Games Genetic algorithms Parameter tuning 


  1. 1.
    S.G. Akl, M.M. Newborn, The principal continuation and the killer heuristic. in Proceedings of the 5th Annual ACM Computer Science Conference (ACM Press, Seattle, WA, 1977), pp. 466–473Google Scholar
  2. 2.
    P. Aksenov, Genetic Algorithms for Optimising Chess Position Scoring. Master’s Thesis, University of Joensuu, Finland (2004)Google Scholar
  3. 3.
    T.S. Anantharaman, Extension heuristics. ICCA J. 14(2), 47–65 (1991)MathSciNetGoogle Scholar
  4. 4.
    J. Baxter, A. Tridgell, L. Weaver, Learning to play chess using temporal-differences. Mach. Learn. 40(3), 243–263 (2000)zbMATHCrossRefGoogle Scholar
  5. 5.
    D.F. Beal, Experiments with the null move. Advances in Computer Chess 5, in ed. by D.F. Beal (Elsevier Science, Amsterdam, 1989), pp. 65–79Google Scholar
  6. 6.
    D.F. Beal, M.C. Smith, Quantification of search extension benefits. ICCA J. 18(4), 205–218 (1995)Google Scholar
  7. 7.
    Y. Björnsson, T.A. Marsland, Multi-cut pruning in alpha-beta search. in Proceedings of the First International Conference on Computers and Games, Tsukuba, Japan (1998), pp. 15–24Google Scholar
  8. 8.
    Y. Björnsson, T.A. Marsland, Multi-cut alpha-beta-pruning in game-tree search. Theor. Comput. Sci. 252(1–2), 177–196 (2001)zbMATHCrossRefGoogle Scholar
  9. 9.
    M. Block, M. Bader, E. Tapia, M. Ramirez, K. Gunnarsson, E. Cuevas, D. Zaldivar, R. Rojas, Using reinforcement learning in chess engines, Res. Comput. Sci. 35, 31–40 (2008)Google Scholar
  10. 10.
    M.S. Campbell, T.A. Marsland, A comparison of minimax tree search algorithms. Artif. Intell. 20(4), 347–367 (1983)zbMATHCrossRefGoogle Scholar
  11. 11.
    S. Chinchalkar, An upper bound for the number of reachable positions. ICCA J. 19(3), 181–183 (1996)Google Scholar
  12. 12.
    O. David-Tabibi, A. Felner, N.S. Netanyahu, Blockage detection in pawn endings. in Proceedings of the 2004 International Conference on Computers and Games, eds. by H.J. van den Herik, Y. Björnsson, N.S. Netanyahu (Springer (LNCS 3846), Ramat-Gan, Israel, 2006), pp. 187–201Google Scholar
  13. 13.
    O. David-Tabibi, M. Koppel, N.S. Netanyahu, Genetic algorithms for mentor-assisted evaluation function optimization. in Proceedings of the Genetic and Evolutionary Computation Conference (Atlanta, GA, 2008), pp. 1469–1476Google Scholar
  14. 14.
    O. David-Tabibi, N.S. Netanyahu, Extended null-move reductions. in Proceedings of the 2008 International Conference on Computers and Games, eds. by H.J. van den Herik, X. Xu, Z. Ma, M.H.M. Winands (Springer (LNCS 5131), Beijing, China, 2008), pp. 205–216Google Scholar
  15. 15.
    C. Donninger, Null move and deep search: Selective search heuristics for obtuse chess programs. ICCA J. 16(3), 137–143 (1993)Google Scholar
  16. 16.
    J.J. Gillogly, The technology chess program. Artif. Intell. 3(1–3), 145–163 (1972)zbMATHCrossRefGoogle Scholar
  17. 17.
    R. Gross, K. Albrecht, W. Kantschik, W. Banzhaf, Evolving chess playing programs. in Proceedings of the Genetic and Evolutionary Computation Conference (New York, NY, 2002), pp. 740–747Google Scholar
  18. 18.
    A. Hauptman, M. Sipper, Using genetic programming to evolve chess endgame players. in Proceedings of the 2005 European Conference on Genetic Programming (Springer, Lausanne, Switzerland, 2005), pp. 120–131Google Scholar
  19. 19.
    A. Hauptman, M. Sipper, Evolution of an efficient search algorithm for the Mate-in-N problem in chess. in Proceedings of the 2007 European Conference on Genetic Programming (Springer, Valencia, Spain, 2007), pp. 78–89Google Scholar
  20. 20.
    E.A. Heinz, Extended futility pruning. ICCA J. 21(2), 75–83 (1998)MathSciNetGoogle Scholar
  21. 21.
    R.M. Hyatt, A.E. Gower, H.L. Nelson. Cray Blitz. Computers, chess, and cognition, in eds. T.A. Marsland, J. Schaeffer (Springer, New York, 1990), pp. 227–237Google Scholar
  22. 22.
    G. Kendall, G. Whitwell, An evolutionary approach for the tuning of a chess evaluation function using population dynamics. in Proceedings of the 2001 Congress on Evolutionary Computation. (IEEE Press, World Trade Center, Seoul, Korea, 2001), pp. 995–1002Google Scholar
  23. 23.
    J. McCarthy, Chess as the Drosophila of AI. Computers, chess, and cognition, eds. T.A. Marsland, J. Schaeffer (Springer, New York, 1990), pp. 227–237Google Scholar
  24. 24.
    H.L. Nelson. Hash tables in Cray Blitz. ICCA J. 8(1), 3–13 (1985)Google Scholar
  25. 25.
    A. Reinfeld, An improvement to the Scout tree-search algorithm. ICCA J. 6(4), 4–14 (1983)Google Scholar
  26. 26.
    J. Schaeffer, The history heuristic. ICCA J. 6(3), 16–19 (1983)Google Scholar
  27. 27.
    J. Schaeffer, The history heuristic and alpha-beta search enhancements in practice. IEEE Trans. Pattern. Anal. Mach. Intell. 11(11), 1203–1212 (1989)CrossRefGoogle Scholar
  28. 28.
    J. Schaeffer, M. Hlynka, V. Jussila, Temporal difference learning applied to a high-performance game-playing program. in Proceedings of the 2001 International Joint Conference on Artificial Intelligence (Seattle, WA, 2001), pp. 529–534Google Scholar
  29. 29.
    J.J. Scott. A chess-playing program, in machine intelligence 4, eds. B. Meltzer, D. Michie (Edinburgh University Press, Edinburgh, 1969), pp. 255–265Google Scholar
  30. 30.
    D.J. Slate, L.R. Atkin, Chess 4.5—The Northwestern University chess program. Chess skill in man and machine, ed. by P.W. Frey (Springer, New York, 2nd ed, 1983), pp. 82–118Google Scholar
  31. 31.
    R.S. Sutton, A.G. Barto. Reinforcement learning: an introduction (MIT Press, Cambridge, MA, 1998)Google Scholar
  32. 32.
    G. Tesauro, Practical issues in temporal difference learning. Mach. Learn. 8(3–4), 257–277 (1992)zbMATHGoogle Scholar
  33. 33.
    W. Tunstall-Pedoe (1991) Genetic algorithms optimising evaluation functions. ICCA J. 14(3), 119–128 (1991)Google Scholar
  34. 34.
    M.A. Wiering, TD Learning of Game Evaluation Functions with Hierarchical Neural Architectures. Master’s Thesis, University of Amsterdam (1995)Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Omid David-Tabibi
    • 1
    Email author
  • Moshe Koppel
    • 1
  • Nathan S. Netanyahu
    • 1
    • 2
  1. 1.Department of Computer ScienceBar-Ilan UniversityRamat-GanIsrael
  2. 2.Center for Automation ResearchUniversity of MarylandCollege ParkUSA

Personalised recommendations