Older Version
Newer Version
GerdIsenberg
Jan 8, 2018
**[[Home]] * [[Engines]] * Giraffe** || [[image:300px-The_Burning_Giraffe.jpg width="240" height="327" link="https://en.wikipedia.org/wiki/File:The_Burning_Giraffe.jpg"]] ||~ || **Giraffe**, an experimental [[Open Source Engines|open source chess engine]] by [[Matthew Lai]] under the [[Free Software Foundation#GPL|GNU General Public License]], compliant to the [[Chess Engine Communication Protocol]], written in [[Cpp|C++11]] and based on [[Deep Learning|deep learning]], which is topic of his Master's thesis in August 2015 <ref>[[Matthew Lai]] (**2015**). //Giraffe: Using Deep Reinforcement Learning to Play Chess//. M.Sc. thesis, [[https://en.wikipedia.org/wiki/Imperial_College_London|Imperial College London]], [[http://arxiv.org/abs/1509.01549v1|arXiv:1509.01549v1]]</ref> <ref>[[http://talkchess.com/forum/viewtopic.php?t=56913|*First release* Giraffe, a new engine based on deep learning]] by [[Matthew Lai]], [[CCC]], July 08, 2015</ref> . Giraffe uses the [[https://en.wikipedia.org/wiki/Eigen_%28C%2B%2B_library%29|Eigen linear algebra library]] <ref>[[http://eigen.tuxfamily.org/index.php?title=Main_Page|Eigen, a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms]]</ref> , and [[Pradu Kannan|Pradyumna Kannan's]] [[Magic Bitboards|magic move generator]] <ref>[[http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=5452|Fastest Magic Move Bitboard Generator ready to use]] by [[Pradu Kannan]], [[Computer Chess Forums|Winboard Forum]], August 25, 2006</ref> <ref>[[Pradu Kannan|Pradyumna Kannan]] (**2007**). //Magic Move-Bitboard Generation in Computer Chess//. [[http://www.pradu.us/old/Nov27_2008/Buzz/research/magic/Bitboards.pdf|pdf]]</ref>. As employee of [[Google]] [[DeepMind]], Matthew Lai announced the discontinuation of the Giraffe project in January 2016 <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=59003|Death of Giraffe, but hopefully not ML in chess!]] by [[Matthew Lai]], [[CCC]], January 21, 2016</ref>. || || [[Arts#Dali|Salvador Dalí]] - [[https://en.wikipedia.org/wiki/The_Burning_Giraffe|The Burning Giraffe]] <ref>[[Arts#Dali|Salvador Dalí]] - The Burning Giraffe, 1937, [[https://en.wikipedia.org/wiki/Oil_painting|Oil on panel]], [[https://en.wikipedia.org/wiki/Kunstmuseum_Basel|Kunstmuseum Basel]], [[https://en.wikipedia.org/wiki/The_Burning_Giraffe|The Burning Giraffe from Wikipedia]]</ref> ||~ ||^ || [[toc]] =Description= Giraffe's [[Evaluation function|evaluation function]] is a [[Neural Networks#Deep|deep neural network]] trained by [[Temporal Difference Learning#TDLeaf|TDLeaf]] <ref>[[Jonathan Baxter]], [[Andrew Tridgell]], [[Lex Weaver]] (**1998**). //TDLeaf(lambda): Combining Temporal Difference Learning with Game-Tree Search//. [[https://www.chatbots.org/journal/australian_journal_of_intelligent_information_processing_systems/|Australian Journal of Intelligent Information Processing Systems]], Vol. 5 No. 1, [[http://arxiv.org/abs/cs/9901001|arXiv:cs/9901001]]</ref> . Its feature representation includes a map of [[Static Exchange Evaluation|static exchange evaluations]] for all squares and sides <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=57045|SEE Map]] by [[Matthew Lai]], [[CCC]], July 20, 2015</ref> , 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// <ref>[[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]]</ref> . Probability-based evaluation [[Score|scores]] are not in [[Centipawns|centipawns]] nor linear to [[Material|material]] , and span a +-10,000 range, with [[Checkmate#MateScore|mate scores]] of +- 30,000. The [[Search|search]] recently changed from traditional depth-based [[Iterative Deepening|iterative deepening]] to assigning number of nodes (or time) to child nodes <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=57092|Time assignment to children]] by [[Matthew Lai]], [[CCC]], July 26, 2015</ref> . Node budget allocation will also become [[Neural Networks|neural network]] based. =See also= * [[Neural Networks#engines|Chess Engines with Neural Networks]] * [[Learning#Programs|Learning Chess Programs]] * [[Various Classifications#Mammal|Mammal]] * [[Morph]] * [[NeuroChess]] =Publications= * [[Matthew Lai]] (**2015**). //Giraffe: Using Deep Reinforcement Learning to Play Chess//. M.Sc. thesis, [[https://en.wikipedia.org/wiki/Imperial_College_London|Imperial College London]], [[http://arxiv.org/abs/1509.01549v1|arXiv:1509.01549v1]] * [[Jonathan Rosenthal]] (**2016**). //[[https://www.research-collection.ethz.ch/handle/20.500.11850/156354|Deep Learning for Go]]//. B.Sc. thesis, [[ETH Zurich]] =Forum Posts= ==2015== * [[http://talkchess.com/forum/viewtopic.php?t=56913|*First release* Giraffe, a new engine based on deep learning]] by [[Matthew Lai]], [[CCC]], July 08, 2015 * [[http://www.talkchess.com/forum/viewtopic.php?t=57045|SEE Map]] by [[Matthew Lai]], [[CCC]], July 20, 2015 » [[Static Exchange Evaluation]] * [[http://www.talkchess.com/forum/viewtopic.php?t=57092|Time assignment to children]] by [[Matthew Lai]], [[CCC]], July 26, 2015 * [[http://talkchess.com/forum/viewtopic.php?t=57142|Giraffe 20150801]] by [[Matthew Lai]], [[CCC]], August 01, 2015 * [[http://www.talkchess.com/forum/viewtopic.php?t=57297|Giraffe, new release (Aug 17)]] by [[Matthew Lai]], [[CCC]], August 17, 2015 * [[http://www.talkchess.com/forum/viewtopic.php?t=57409|New Giraffe (Aug 28)]] by [[Matthew Lai]], [[CCC]], August 28, 2015 * [[http://www.talkchess.com/forum/viewtopic.php?t=57557|Giraffe dissertation, and now open source]] by [[Matthew Lai]], [[CCC]], September 08, 2015 * [[http://www.talkchess.com/forum/viewtopic.php?t=57558|New Giraffe (Sept 8)]] by [[Matthew Lai]], [[CCC]], September 08, 2015 ==2016== * [[http://www.talkchess.com/forum/viewtopic.php?t=59003|Death of Giraffe, but hopefully not ML in chess!]] by [[Matthew Lai]], [[CCC]], January 21, 2016 * [[http://www.talkchess.com/forum/viewtopic.php?t=60883&start=7|Re: Deep Learning Chess Engine ?]] by [[Matthew Lai]], [[CCC]], August 04, 2016 <ref>[[https://en.wikipedia.org/wiki/Rectifier_(neural_networks)|Rectifier (neural networks) from Wikipedia]]</ref> * [[http://www.talkchess.com/forum/viewtopic.php?t=61373|Beginner's guide to graphical profiling]] by [[Matthew Lai]], [[CCC]], September 10, 2016 » [[Profiling]] * [[http://www.talkchess.com/forum/viewtopic.php?t=61808|New Giraffe]] by [[Matthew Lai]], [[CCC]], October 23, 2016 ==2017...== * [[http://www.talkchess.com/forum/viewtopic.php?t=64096|Is AlphaGo approach unsuitable to chess?]] by Mel Cooper, [[CCC]], May 27, 2017 » [[AlphaGo]], [[Deep Learning]] > [[http://www.talkchess.com/forum/viewtopic.php?t=64096&start=12|Re: Is AlphaGo approach unsuitable to chess?]] by [[Peter Österlund]], [[CCC]], May 31, 2017 » [[Texel]] * [[http://www.hiarcs.net/forums/viewtopic.php?t=8421&start=1|Re: Why is it so hard for comps to play like people?]] by Ben Redic, [[Computer Chess Forums|Hiarcs Forum]], June 03, 2017 * [[http://www.talkchess.com/forum/viewtopic.php?t=64929|Giraffe on Threadripper + newest GPUs]] by John Margusen, [[CCC]], August 19, 2017 <ref>[[https://en.wikipedia.org/wiki/Ryzen|Ryzen from Wikipedia]] (Threadripper)</ref> =External Links= ==Chess Engine== * [[https://bitbucket.org/waterreaction/giraffe|waterreaction / Giraffe — Bitbucket]] * [[https://en.wikipedia.org/wiki/Deep_learning|Deep learning from Wikipedia]] * [[http://www.technologyreview.com/view/541276/deep-learning-machine-teaches-itself-chess-in-72-hours-plays-at-international-master/|Deep Learning Machine Teaches Itself Chess in 72 Hours, Plays at International Master Level]] by [[http://www.technologyreview.com/contributor/emerging-technology-from-the-arxiv/|Emerging Technology From the arXiv]], [[https://en.wikipedia.org/wiki/MIT_Technology_Review|MIT Technology Review]], September 14, 2015 <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=59292|Awful paper)]] by [[Sergei Markoff|Sergei S. Markoff]], [[CCC]], February 18, 2016</ref> * [[http://www.popularmechanics.com/technology/robots/a17339/chess-engine-plays-against-itself/|This Chess Engine Learns How to Beat Humans by Playing Against Itself]] by [[https://www.linkedin.com/in/rollinbishop|Rollin Bishop]], [[https://en.wikipedia.org/wiki/Popular_Mechanics|Popular Mechanics]], September 15, 2015 * [[http://hackaday.com/2015/10/02/computer-learns-to-hack-chess/#more-172231|Computer Learns to Hack Chess]] by [[http://hackaday.com/author/wd5gnr1/|Al Williams]], [[https://en.wikipedia.org/wiki/Hackaday|Hackaday]], October 02, 2015 <ref>[[http://www.talkchess.com/forum/viewtopic.php?t=57817|Chess hackery]] by [[Steven Edwards]], [[CCC]], October 02, 2015</ref> * [[http://motherboard.vice.com/read/the-chess-engine-that-died-so-alphago-could-live-giraffe-matthew-lai|The Chess Engine that Died So AlphaGo Could Live]] by [[https://www.linkedin.com/in/rollinbishop|Rollin Bishop]], [[https://en.wikipedia.org/wiki/Vice_(magazine)|Motherboard]], March 14, 2016 » [[AlphaGo]] * [[http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?match_length=30&each_game=1&print=Details&each_game=1&eng=Giraffe%2020150908%2064-bit#Giraffe_20150908_64-bit|Giraffe 20150908 64-bit]] in [[CCRL|CCRL 40/4]] ==Misc== * [[https://en.wikipedia.org/wiki/Giraffe|Giraffe from Wikipedia]] > [[https://en.wikipedia.org/wiki/Giraffe#Internal_systems|Giraffe - Internal systems]] * [[Videos#ManuDibango|Manu Dibango]] - [[http://www.silent-watcher.net/billlaswell/discography/d/electricafrica.html|Electric Africa]], [[https://en.wikipedia.org/wiki/YouTube|YouTube]] Video > [[media type="youtube" key="zK69LoCTYus"]] =References= <references /> =What links here?= [[include component="backlinks" page="Giraffe" limit="80"]] **[[Engines|Up one Level]]**