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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
BBChess is a free open source chess program available at: http://labraj.uni-mb.si/-borko/bbchess.
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.
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.
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/.
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
Baxter J, Tridgell A, Weaver L (1998) Experiments in parameter learning using temporal differences. Int Comput Chess Assoc J 21(2):84–99
Baxter J, Tridgell A, Weaver L (2000) Learning to play chess using temporal differences. Mach Learn 40(3):243–263
Beal DF, Smith MC (1997) Learning piece values using temporal differences. J Int Comput Chess Assoc 20(3):147–151
Beal DF, Smith MC (1999) Learning piece-square values using temporal differences. ICCA J 22(4):223–235
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
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
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
Caponio A, Neri F, Tirronen V (2009) Super-fit control adaptation in memetic differential evolution frameworks. Soft Comput 13(8–9):811–831
Chellapilla K, Fogel DB (1999) Evolving neural networks to play checkers without relying on expert knowledge. IEEE Trans Neural Netw 10(6):1382–1391
Chellapilla K, Fogel DB (2001) Evolving an expert checkers playing program without using human expertise. IEEE Trans Evol Comput 5(4):422–428
Clark D (1997) Deep thoughts on deep blue. IEEE Exp Intell Syst Appl 12(4):31
Demšar J (2006) Statistical comparisons of classifiers over multiple data sets. J Mach Learn Res 7:1–30
Feoktistov V (2006) Differential evolution: in search of solutions (Springer optimization and its applications). Springer, New York
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
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
Gomboc D, Buro M, Marsland TA (2005) Tuning evaluation functions by maximizing concordance. Theor Comput Sci 349(2):202–229
Heinz EA (1999) Scalable search in computer chess: algorithmic enhancements and experiments at high search depths (computational intelligence). Morgan Kaufmann, San Francisco
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
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
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
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
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
Samuel AL (1959) Some studies in machine learning using the game of checkers. IBM J Res Development 3(3):211–229
Samuel AL (1967) Some studies in machine learning using the game of checkers. II—recent progress. IBM J Res Development 11(6):601–617
Shannon C (1950) Programming a computer for playing chess. Philos Mag 41(4):256
Shih FY, Edupuganti VG (2009) A differential evolution based algorithm for breaking the visual steganaliytic system. Soft Comput 13(4):345–353
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
Teng NS, Teo J, Hijazi MHA (2009) Self-adaptive population sizing for a tune-free differential evolution. Soft Comput 13(7):709–724
Teo J (2006) Exploring dynamic self-adaptive populations in differential evolution. Soft Comput 10(8):673–686
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
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
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
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00500-010-0593-z