Home * Engines * 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 his Master's thesis in August 2015 [1] [2] . Giraffe uses the Eigen linear algebra library [3] , and Pradyumna Kannan's magic move generator [4] [5]. As employee of Google DeepMind, Matthew Lai announced the discontinuation of the Giraffe project in January 2016 [6].
Salvador Dalí - The Burning Giraffe [7]


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


Forum Posts




External Links

Chess Engine



  1. ^ Matthew Lai (2015). Giraffe: Using Deep Reinforcement Learning to Play Chess. M.Sc. thesis, Imperial College London, arXiv:1509.01549v1
  2. ^ *First release* Giraffe, a new engine based on deep learning by Matthew Lai, CCC, July 08, 2015
  3. ^ Eigen, a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms
  4. ^ Fastest Magic Move Bitboard Generator ready to use by Pradu Kannan, Winboard Forum, August 25, 2006
  5. ^ Pradyumna Kannan (2007). Magic Move-Bitboard Generation in Computer Chess. pdf
  6. ^ Death of Giraffe, but hopefully not ML in chess! by Matthew Lai, CCC, January 21, 2016
  7. ^ Salvador Dalí - The Burning Giraffe, 1937, Oil on panel, Kunstmuseum Basel, The Burning Giraffe from Wikipedia
  8. ^ 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
  9. ^ SEE Map by Matthew Lai, CCC, July 20, 2015
  10. ^ 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
  11. ^ Time assignment to children by Matthew Lai, CCC, July 26, 2015
  12. ^ Rectifier (neural networks) from Wikipedia
  13. ^ Ryzen from Wikipedia (Threadripper)
  14. ^ Awful paper) by Sergei S. Markoff, CCC, February 18, 2016
  15. ^ Chess hackery by Steven Edwards, CCC, October 02, 2015

What links here?

Up one Level