Skip to main content

History mechanism supported differential evolution for chess evaluation function tuning

  • Original Paper
  • Published:
Soft Computing Aims and scope Submit manuscript

Abstract

This paper presents a differential evolution (DE) based approach to chess evaluation function tuning. DE with opposition-based optimization is employed and upgraded with a history mechanism to improve the evaluation of individuals and the tuning process. The general idea is based on individual evaluations according to played games through several generations and different environments. We introduce a new history mechanism which uses an auxiliary population containing good individuals. This new mechanism ensures that good individuals remain within the evolutionary process, even though they died several generations back and later can be brought back into the evolutionary process. In such a manner the evaluation of individuals is improved and consequently the whole tuning process.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

Notes

  1. BBChess is a free open source chess program available at: http://labraj.uni-mb.si/-borko/bbchess.

  2. Universal Chess Interface (UCI) is an open communication protocol that enables a chess program to communicate with its user interface, in our case the tuning algorithm.

  3. PolyGlot is a free “UCI adapter”. It connects a UCI chess program to an xboard interface and also simple tool to create an opening book.

  4. The Bayeselo is a freeware tool to estimate maximum-likelihood ratings made by Rémi Coulom and available at: http://remi.coulom.free.fr/Bayesian-Elo/.

  5. CCRL is a Computer Chess Rating Lists. It is a club of people inspired by watching computers play chess and compare the strengths of different chess programs, available at: http://computerchess.org.uk/.

References

  • Anantharaman TS (1990) A statistical study of selective min–max search in computer chess. Ph.D. thesis, Carnegie Mellon University Pittsburgh, USA

  • Anantharaman TS (1997) Evaluation tuning for computer chess: linear discriminant methods. ICCA J 20(4):224–242

    Google Scholar 

  • Baxter J, Tridgell A, Weaver L (1998) Experiments in parameter learning using temporal differences. Int Comput Chess Assoc J 21(2):84–99

    Google Scholar 

  • Baxter J, Tridgell A, Weaver L (2000) Learning to play chess using temporal differences. Mach Learn 40(3):243–263

    Article  MATH  Google Scholar 

  • Beal DF, Smith MC (1997) Learning piece values using temporal differences. J Int Comput Chess Assoc 20(3):147–151

    Google Scholar 

  • Beal DF, Smith MC (1999) Learning piece-square values using temporal differences. ICCA J 22(4):223–235

    Google Scholar 

  • Bošković B, Greiner S, Brest J, Žumer V (2006) A differential evolution for the tuning of a chess evaluation function. In: The 2006 IEEE congress on evolutionary computation CEC2006. IEEE Press, New Jersey, pp 6742–6747

  • Bošković B, Greiner S, Brest J, Zamuda A, Žumer V (2008) An adaptive differential evolution algorithm with opposition-based mechanisms, applied to the tuning of a chess program. In: Chakraborty UK (ed) Advances in differential evolution, studies in computational intelligence, vol 143. Springer, Berlin

  • Brest J, Maučec MS (2008) Population size reduction for the differential evolution algorithm. Appl Intell 29(3):228–247

    Article  Google Scholar 

  • Brest J, Greiner S, Bošković B, Mernik M, Žumer V (2006) Self-adapting control parameters in differential evolution: a comparative study on numerical benchmark problems. IEEE Trans Evol Comput 10(6):646–657

    Article  Google Scholar 

  • Brest J, Bošković B, Greiner S, Žumer V, Maučec MS (2007) Performance comparison of self-adaptive and adaptive differential evolution algorithms. Soft Comput Fusion Found Methodol Appl 11(7):617–629

    MATH  Google Scholar 

  • Caponio A, Neri F, Tirronen V (2009) Super-fit control adaptation in memetic differential evolution frameworks. Soft Comput 13(8–9):811–831

    Article  Google Scholar 

  • Chellapilla K, Fogel DB (1999) Evolving neural networks to play checkers without relying on expert knowledge. IEEE Trans Neural Netw 10(6):1382–1391

    Article  Google Scholar 

  • Chellapilla K, Fogel DB (2001) Evolving an expert checkers playing program without using human expertise. IEEE Trans Evol Comput 5(4):422–428

    Article  Google Scholar 

  • Clark D (1997) Deep thoughts on deep blue. IEEE Exp Intell Syst Appl 12(4):31

    Google Scholar 

  • Demšar J (2006) Statistical comparisons of classifiers over multiple data sets. J Mach Learn Res 7:1–30

    MathSciNet  Google Scholar 

  • Feoktistov V (2006) Differential evolution: in search of solutions (Springer optimization and its applications). Springer, New York

    MATH  Google Scholar 

  • Fogel DB (2006) Evolutionary computation: toward a new philosophy of machine intelligence, 3rd edn. Wiley-IEEE Press, New Jersey

  • Fogel DB, Hays TJ, Hahn SL, Quon J (2004) A self-learning evolutionary chess program. Proc IEEE 92(12):1947–1954

    Article  Google Scholar 

  • Fogel DB, Hays TJ, Hahn SL, Quon J (2006) The Blondie25 chess program competes against Fritz 8.0 and a human chess master. In: Louis SJ, Kendall G (eds) The 2006 IEEE symposium on computational intelligence and games. IEEE Press, New Jersey, pp 230–235

  • García S, Herrera F (2008) An extension on “statistical comparisons of classifiers over multiple data sets” for all pairwise comparisons. J Mach Learn Res 9:2677–2694

    Google Scholar 

  • Gomboc D, Buro M, Marsland TA (2005) Tuning evaluation functions by maximizing concordance. Theor Comput Sci 349(2):202–229

    Article  MathSciNet  MATH  Google Scholar 

  • Heinz EA (1999) Scalable search in computer chess: algorithmic enhancements and experiments at high search depths (computational intelligence). Morgan Kaufmann, San Francisco

    Google Scholar 

  • Hsu FH, Anantharaman TS, Campbell MS, Nowatzyk A (1990) Deep thought. In: Marsland TA, Schaeffer J (eds) Computers, chess and cognition, chap 5. Springer, Berlin, pp 55–78

  • Hunter DR (2004) MM algorithms for generalized Bradley–Terry models. Ann Stat 32(1):384–406

    Article  MathSciNet  MATH  Google Scholar 

  • Fürnkranz J (2001) Machine learning in games: a survey. In: Fürnkranz J, Kubat M (eds) Machines that learn to play games. Nova Science Publishers, Inc., Hauppauge, pp 11–59

  • Kendall G, Whitwell G (2001) An evolutionary approach for the tuning of a chess evaluation function using population dynamics. In: Proceedings of the 2001 congress on evolutionary computation CEC2001. IEEE Press, COEX, World Trade Center, 159 Samseong-dong, Gangnam-gu, Seoul, Korea, pp 995–1002

  • Lacrosse M (2008) Private communication

  • Levinson R, Snyder R (1991) Adaptive pattern-oriented chess. AAAI pp 601–606

  • Mysliwietz P (1994) Konstruktion und Optimierung von Bewertungsfunktionen beim Schach.(1994). Ph.D. thesis, University of Paderborn, Germany

  • Nasreddine H, Poh H, Kendall G (2006) Using an evolutionary algorithm for the tuning of a chess evaluation function based on a dynamic boundary strategy. In: Proceedings of 2006 IEEE international conference on cybernetics and intelligent systems (CIS2006), pp 1–6

  • Piccinini G (2003) Alan turing and the mathematical objection. Minds Mach 13(1):23–48

    Article  MathSciNet  MATH  Google Scholar 

  • Price KV, Storn RM, Lampinen JA (2005) Differential evolution. A practical approach to global optimization. Springer, Berlin

  • Qin AK, Huang VL, Suganthan PN (2009) Differential evolution algorithm With strategy adaptation for global numerical optimization. IEEE Trans Evol Comput 13(2):398–417

    Article  Google Scholar 

  • Quian B, Wang L, Huang DX, Wang X (2009) Multi-objective no-wait flow-shop scheduling with a memetic algorithm based on differential evolution. Soft Comput 13(8–9):847–869

    Article  Google Scholar 

  • Rahnamayan S, Tizhoosh HR, Salama MMA (2006) Opposition-based differential evolution algorithms. In: The 2006 IEEE congress on evolutionary computation CEC 2006, pp 7363–7370

  • Rahnamayan S, Tizhoosh HR, Salama MMA (2008) Opposition-based differential evolution. IEEE Trans Evol Comput 12(1):64–79

    Article  Google Scholar 

  • Samuel AL (1959) Some studies in machine learning using the game of checkers. IBM J Res Development 3(3):211–229

    MathSciNet  Google Scholar 

  • Samuel AL (1967) Some studies in machine learning using the game of checkers. II—recent progress. IBM J Res Development 11(6):601–617

    Article  Google Scholar 

  • Shannon C (1950) Programming a computer for playing chess. Philos Mag 41(4):256

    MathSciNet  MATH  Google Scholar 

  • Shih FY, Edupuganti VG (2009) A differential evolution based algorithm for breaking the visual steganaliytic system. Soft Comput 13(4):345–353

    Article  Google Scholar 

  • Storn R, Price K (1995) Differential evolution—a simple and efficient adaptive scheme for global optimization over continuous spaces. Technical Report TR-95-012, Berkeley, CA, USA

  • Storn R, Price K (1997) Differential evolution—a simple and efficient heuristic for global optimisation over continuous spaces. J Global Optim 11:341–359

    Article  MathSciNet  MATH  Google Scholar 

  • Teng NS, Teo J, Hijazi MHA (2009) Self-adaptive population sizing for a tune-free differential evolution. Soft Comput 13(7):709–724

    Article  Google Scholar 

  • Teo J (2006) Exploring dynamic self-adaptive populations in differential evolution. Soft Comput 10(8):673–686

    Article  Google Scholar 

  • Tesauro G (2001) Comparison training of chess evaluation functions. In: Furnkranz J, Kubat M (eds) Machines that learn to play games. Nova Science Publishers, Hauppauge, pp 117–130

  • Thrun S (1995) Learning to play the game of chess. In: Tesauro G, Touretzky D, Leen T (eds) Advances in neural information processing systems 7. The MIT Press, Cambridge, MA, pp 1069–1076

    Google Scholar 

  • Tizhoosh HR (2005) Opposition-based learning: a new scheme for machine intelligence. In: Proceedings of international conference on computational intelligence for modelling control and automation—CIMCA 2005, Vienna, Austria, pp 695–701

Download references

Acknowledgments

The authors would like to thank Rémi Coulom for Bayeselo program, Daniel Shawul for bitbases, Marc Lacrosse for performance.bin opening book, Prof. Robert Hyatt for Crafty program, Chua Kong Sian and Stuart Cracraft for GNU Chess program and Rainer Storn for the C code of the DE. The authors would also like to thank reviewers for their detailed and constructive comments that helped us to increase the quality of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to B. Bošković.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bošković, B., Brest, J., Zamuda, A. et al. History mechanism supported differential evolution for chess evaluation function tuning. Soft Comput 15, 667–683 (2010). https://doi.org/10.1007/s00500-010-0593-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00500-010-0593-z

Keywords