Giraffe
Giraffe,
an experimental open source chess engine by Matthew Lai under the GNU General Public License, compliant to the Chess Engine Communication Protocol, written in C++11 and based on deep learning, which is topic of Matthew's master's thesis in August 2015 [2] [3] . Giraffe uses the Eigen linear algebra library [4] , and Pradyumna Kannan's magic move generator [5] [6]. As employee of Google DeepMind, Matthew Lai announced the discontinuation of the Giraffe project in January 2016 [7].
Contents
Description
Giraffe's evaluation function is a deep neural network trained by TDLeaf [8] . Its feature representation includes a map of static exchange evaluations for all squares and sides [9] , a structure already proposed by Russell M. Church and Kenneth W. Church in Plans, Goals, and Search Strategies for the Selection of a Move in Chess [10] . Probability-based evaluation scores are not in centipawns nor linear to material , and span a +-10,000 range, with mate scores of +- 30,000. The search recently changed from traditional depth-based iterative deepening to assigning number of nodes (or time) to child nodes [11] . Node budget allocation will also become neural network based.
See also
Publications
- Matthew Lai (2015). Giraffe: Using Deep Reinforcement Learning to Play Chess. M.Sc. thesis, Imperial College London, arXiv:1509.01549v1
- Jonathan Rosenthal (2016). Deep Learning for Go. B.Sc. thesis, ETH Zurich
Forum Posts
2015
- *First release* Giraffe, a new engine based on deep learning by Matthew Lai, CCC, July 08, 2015
- SEE Map by Matthew Lai, CCC, July 20, 2015 » Static Exchange Evaluation
- Time assignment to children by Matthew Lai, CCC, July 26, 2015
- Giraffe 20150801 by Matthew Lai, CCC, August 01, 2015
- Giraffe, new release (Aug 17) by Matthew Lai, CCC, August 17, 2015
- New Giraffe (Aug 28) by Matthew Lai, CCC, August 28, 2015
- Giraffe dissertation, and now open source by Matthew Lai, CCC, September 08, 2015
- New Giraffe (Sept 8) by Matthew Lai, CCC, September 08, 2015
2016
- Death of Giraffe, but hopefully not ML in chess! by Matthew Lai, CCC, January 21, 2016
- Re: Deep Learning Chess Engine ? by Matthew Lai, CCC, August 04, 2016 [12]
- Beginner's guide to graphical profiling by Matthew Lai, CCC, September 10, 2016 » Profiling
- New Giraffe by Matthew Lai, CCC, October 23, 2016
2017...
- Is AlphaGo approach unsuitable to chess? by Mel Cooper, CCC, May 27, 2017 » AlphaGo, Deep Learning
- Re: Is AlphaGo approach unsuitable to chess? by Peter Österlund, CCC, May 31, 2017 » Texel
- Re: Why is it so hard for comps to play like people? by Ben Redic, Hiarcs Forum, June 03, 2017
- Giraffe on Threadripper + newest GPUs by John Margusen, CCC, August 19, 2017 [13]
- Re: Alphazero news by Matthew Lai, CCC, December 07, 2018 » AlphaZero
External Links
Chess Engine
- GitHub - ianfab/Giraffe: experimental chess engine based on temporal-difference reinforcement learning hosted by Fabian Fichter
- waterreaction / Giraffe — Bitbucket (Wayback Machine, July 13, 2017)
- This Chess Engine Learns How to Beat Humans by Playing Against Itself by Rollin Bishop, Popular Mechanics, September 15, 2015
- Computer Learns to Hack Chess by Al Williams, Hackaday, October 02, 2015 [14]
- The Chess Engine that Died So AlphaGo Could Live by Rollin Bishop, Motherboard, March 14, 2016 » AlphaGo
- Giraffe 20150908 64-bit in CCRL Blitz
Misc
- Manu Dibango - Electric Africa, YouTube Video
References
- ↑ Salvador Dalí - The Burning Giraffe, 1937, Oil on panel, Kunstmuseum Basel, The Burning Giraffe from Wikipedia
- ↑ Matthew Lai (2015). Giraffe: Using Deep Reinforcement Learning to Play Chess. M.Sc. thesis, Imperial College London, arXiv:1509.01549v1
- ↑ *First release* Giraffe, a new engine based on deep learning by Matthew Lai, CCC, July 08, 2015
- ↑ Eigen, a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms
- ↑ Fastest Magic Move Bitboard Generator ready to use by Pradu Kannan, Winboard Forum, August 25, 2006
- ↑ Pradyumna Kannan (2007). Magic Move-Bitboard Generation in Computer Chess. pdf
- ↑ Death of Giraffe, but hopefully not ML in chess! by Matthew Lai, CCC, January 21, 2016
- ↑ Jonathan Baxter, Andrew Tridgell, Lex Weaver (1998). TDLeaf(lambda): Combining Temporal Difference Learning with Game-Tree Search. Australian Journal of Intelligent Information Processing Systems, Vol. 5 No. 1, arXiv:cs/9901001
- ↑ SEE Map by Matthew Lai, CCC, July 20, 2015
- ↑ Russell M. Church, Kenneth W. Church (1977). Plans, Goals, and Search Strategies for the Selection of a Move in Chess. Chess Skill in Man and Machine
- ↑ Time assignment to children by Matthew Lai, CCC, July 26, 2015
- ↑ Rectifier (neural networks) from Wikipedia
- ↑ Ryzen from Wikipedia (Threadripper)
- ↑ Chess hackery by Steven Edwards, CCC, October 02, 2015