Difference between revisions of "Allie"

From Chessprogramming wiki
Jump to: navigation, search
Line 3: Line 3:
 
'''Allie''',<br/>
 
'''Allie''',<br/>
 
an [[UCI]] compliant [[:Category:Open Source|open source chess engine]] by [[Adam Treat]], written in [[Cpp|C++]] using [https://en.wikipedia.org/wiki/Qt_(software) Qt], released under the terms of [[Free Software Foundation#GPL|GPL version 3]].  
 
an [[UCI]] compliant [[:Category:Open Source|open source chess engine]] by [[Adam Treat]], written in [[Cpp|C++]] using [https://en.wikipedia.org/wiki/Qt_(software) Qt], released under the terms of [[Free Software Foundation#GPL|GPL version 3]].  
Allie is inspired by the seminal [[AlphaZero]] paper <ref>[[David Silver]], [[Thomas Hubert]], [[Julian Schrittwieser]], [[Ioannis Antonoglou]], [[Matthew Lai]], [[Arthur Guez]], [[Marc Lanctot]], [[Laurent Sifre]], [[Dharshan Kumaran]], [[Thore Graepel]], [[Timothy Lillicrap]], [[Karen Simonyan]], [[Demis Hassabis]] ('''2017'''). ''Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm''. [https://arxiv.org/abs/1712.01815 arXiv:1712.01815]</ref> and the [[Leela Chess Zero]] project - in particular it probes the same [[Neural Networks#Deep|deep]] [[Neural Networks#Convolutional|convolutional neural networks]] produced by Leela Chess, and replaces [[Leela Chess Zero#Lc0|Lc0]] with an own implementation of a [[UCT#PUCT|PUCT]] [[Monte-Carlo Tree Search|Monte-Carlo tree search]] <ref>[https://github.com/manyoso/allie/blob/master/lib/node.h allie/node.h at master · manyoso/allie · GitHub]</ref>.
+
Allie is inspired by the seminal [[AlphaZero]] paper <ref>[[David Silver]], [[Thomas Hubert]], [[Julian Schrittwieser]], [[Ioannis Antonoglou]], [[Matthew Lai]], [[Arthur Guez]], [[Marc Lanctot]], [[Laurent Sifre]], [[Dharshan Kumaran]], [[Thore Graepel]], [[Timothy Lillicrap]], [[Karen Simonyan]], [[Demis Hassabis]] ('''2017'''). ''Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm''. [https://arxiv.org/abs/1712.01815 arXiv:1712.01815]</ref> and the [[Leela Chess Zero]] project - in particular it utilizes the same [[Neural Networks|networks]] produced by Leela Chess, and replaces [[Leela Chess Zero#Lc0|Lc0]] with an own implementation of a [[UCT#PUCT|PUCT]] [[Monte-Carlo Tree Search|Monte-Carlo tree search]] <ref>[https://github.com/manyoso/allie/blob/master/lib/node.h allie/node.h at master · manyoso/allie · GitHub]</ref>.
  
 
=AllieStein=
 
=AllieStein=
AllieStein is the combination of Allie with Leela's third party '''Leelenstein''' network by [[Mark Jordan]] <ref>[https://github.com/LeelaChessZero/lc0/wiki/Third-Party-Nets Third Party Nets · LeelaChessZero/lc0 Wiki · GitHub]</ref> <ref>[https://www.patreon.com/jjosh Jjosh is creating Leelenstein | Patreon]</ref>, which is trained by [[Supervised Learning|supervised learning]] feeding in games from [[CCRL]],  
+
AllieStein is the combination of Allie with Leela's third party '''Leelenstein''' network <ref>[https://github.com/LeelaChessZero/lc0/wiki/Third-Party-Nets Third Party Nets · LeelaChessZero/lc0 Wiki · GitHub]</ref> <ref>[https://www.patreon.com/jjosh Jjosh is creating Leelenstein | Patreon]</ref>, which is trained by [[Supervised Learning|supervised learning]] feeding in games from [[CCRL]],  
 
supported by '''SGDR''' ([https://en.wikipedia.org/wiki/Stochastic_gradient_descent Stochastic Gradient Descent] with Warm Restarts) <ref>[[Ilya Loshchilov]], [[Frank Hutter]] ('''2016'''). ''SGDR: Stochastic Gradient Descent with Warm Restarts''. [https://arxiv.org/abs/1608.03983 arXiv:1608.03983]</ref>
 
supported by '''SGDR''' ([https://en.wikipedia.org/wiki/Stochastic_gradient_descent Stochastic Gradient Descent] with Warm Restarts) <ref>[[Ilya Loshchilov]], [[Frank Hutter]] ('''2016'''). ''SGDR: Stochastic Gradient Descent with Warm Restarts''. [https://arxiv.org/abs/1608.03983 arXiv:1608.03983]</ref>
 
and '''GGT''' (full-matrix adaptive [https://en.wikipedia.org/wiki/Regularization_(mathematics) regularization]) <ref>[[Naman Agarwal]], [[Brian Bullins]], [[Xinyi Chen]], [[Elad Hazan]], [[Karan Singh]], [[Cyril Zhang]], [[Yi Zhang]] ('''2018'''). ''The Case for Full-Matrix Adaptive Regularization''. [https://arxiv.org/abs/1806.02958 arXiv:1806.02958]</ref>,
 
and '''GGT''' (full-matrix adaptive [https://en.wikipedia.org/wiki/Regularization_(mathematics) regularization]) <ref>[[Naman Agarwal]], [[Brian Bullins]], [[Xinyi Chen]], [[Elad Hazan]], [[Karan Singh]], [[Cyril Zhang]], [[Yi Zhang]] ('''2018'''). ''The Case for Full-Matrix Adaptive Regularization''. [https://arxiv.org/abs/1806.02958 arXiv:1806.02958]</ref>,
 
using [https://en.wikipedia.org/wiki/Batch_normalization batch renormalization] <ref>[[Sergey Ioffe]] ('''2017'''). ''Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models''. [https://arxiv.org/abs/1702.03275 arXiv:1702.03275]</ref>,
 
using [https://en.wikipedia.org/wiki/Batch_normalization batch renormalization] <ref>[[Sergey Ioffe]] ('''2017'''). ''Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models''. [https://arxiv.org/abs/1702.03275 arXiv:1702.03275]</ref>,
 
and adding [https://en.wikipedia.org/wiki/Gradient_noise gradient noise] <ref>[[Arvind Neelakantan]], [[Luke Vilnis]], [[Quoc V. Le]], [[Ilya Sutskever]], [[Lukasz Kaiser]], [[Karol Kurach]], [[James Martens]] ('''2015'''). ''Adding Gradient Noise Improves Learning for Very Deep Networks''. [https://arxiv.org/abs/1511.06807 arXiv:1511.06807]</ref>.
 
and adding [https://en.wikipedia.org/wiki/Gradient_noise gradient noise] <ref>[[Arvind Neelakantan]], [[Luke Vilnis]], [[Quoc V. Le]], [[Ilya Sutskever]], [[Lukasz Kaiser]], [[Karol Kurach]], [[James Martens]] ('''2015'''). ''Adding Gradient Noise Improves Learning for Very Deep Networks''. [https://arxiv.org/abs/1511.06807 arXiv:1511.06807]</ref>.
 +
 +
=Features=
 +
* [[Magic Bitboards#Fancy|Fancy Magic Bitboards]] largely from [[Ethereal]] by [[Andrew Grant]] <ref>[https://github.com/manyoso/allie/blob/master/lib/movegen.cpp allie/movegen.cpp at master · manyoso/allie · GitHub]</ref> <ref>[https://github.com/AndyGrant/Ethereal/blob/master/src/attacks.h Ethereal/attacks.h at master · AndyGrant/Ethereal · GitHub]</ref>
 +
* [[BMI2#PEXTBitboards|BMI2 - PEXT Bitboards]]
 +
* [[Leela Chess Zero#Lc0|Lc0 NN Backend]] by [[Alexander Lyashuk]] et al. <ref>[[http://www.talkchess.com/forum3/viewtopic.php?t=70116&start=8 Re: Allie & Stein] by [[Alexander Lyashuk]], [[CCC]], March 07, 2019</ref>
 +
* [[Monte-Carlo Tree Search]]
 +
* [[UCT#PUCT|PUCT]]
 +
* [[Syzygy Bases]] via [[Syzygy Bases#Fathom|Fathom]] by [[Basil Falcinelli]]
 +
* [[Chess960]]
  
 
=See also=
 
=See also=
Line 17: Line 26:
 
* [[Deus X]]
 
* [[Deus X]]
 
* [[Leela Chess Zero]]
 
* [[Leela Chess Zero]]
* [[Monte-Carlo Tree Search]]
 
  
 
=Forum Posts=
 
=Forum Posts=
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=69972 New Engine: Allie (NN)] by [[Adam Treat]], [[CCC]], February 20, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=69972 New Engine: Allie (NN)] by [[Adam Treat]], [[CCC]], February 20, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70116 Allie & Stein] by Sven Steppenwolf, [[CCC]], March 06, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70116 Allie & Stein] by Sven Steppenwolf, [[CCC]], March 06, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?t=70179 Allie 0.1] by [[Adam Treat]], [[CCC]], March 12, 2019
+
: [http://www.talkchess.com/forum3/viewtopic.php?t=70116&start=8 Re: Allie & Stein] by [[Alexander Lyashuk]], [[CCC]], March 07, 2019
 +
: [http://www.talkchess.com/forum3/viewtopic.php?t=70116&start=10 Re: Allie & Stein] by [[Adam Treat]], [[CCC]], March 07, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70282 Allie 0.2] by [[Adam Treat]], [[CCC]], March 22, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70282 Allie 0.2] by [[Adam Treat]], [[CCC]], March 22, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70662 New release of Allie v0.3] by [[Adam Treat]], [[CCC]], May 04, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70662 New release of Allie v0.3] by [[Adam Treat]], [[CCC]], May 04, 2019
Line 40: Line 49:
 
[[Category:GPL]]
 
[[Category:GPL]]
 
[[Category:UCI]]
 
[[Category:UCI]]
 +
[[Category:Chess960]]
 
[[Category:Given Name]]
 
[[Category:Given Name]]

Revision as of 14:57, 11 September 2019

Home * Engines * Allie

Allie,
an UCI compliant open source chess engine by Adam Treat, written in C++ using Qt, released under the terms of GPL version 3. Allie is inspired by the seminal AlphaZero paper [1] and the Leela Chess Zero project - in particular it utilizes the same networks produced by Leela Chess, and replaces Lc0 with an own implementation of a PUCT Monte-Carlo tree search [2].

AllieStein

AllieStein is the combination of Allie with Leela's third party Leelenstein network [3] [4], which is trained by supervised learning feeding in games from CCRL, supported by SGDR (Stochastic Gradient Descent with Warm Restarts) [5] and GGT (full-matrix adaptive regularization) [6], using batch renormalization [7], and adding gradient noise [8].

Features

See also

Forum Posts

Re: Allie & Stein by Alexander Lyashuk, CCC, March 07, 2019
Re: Allie & Stein by Adam Treat, CCC, March 07, 2019

External Links

Chess Engine

Misc

References

Up one level