Difference between revisions of "Allie"
GerdIsenberg (talk | contribs) |
GerdIsenberg (talk | contribs) |
||
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 | + | 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 | + | 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]] | ||
− | |||
=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=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 15:57, 11 September 2019
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].
Contents
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
- Fancy Magic Bitboards largely from Ethereal by Andrew Grant [9] [10]
- BMI2 - PEXT Bitboards
- Lc0 NN Backend by Alexander Lyashuk et al. [11]
- Monte-Carlo Tree Search
- PUCT
- Syzygy Bases via Fathom by Basil Falcinelli
- Chess960
See also
Forum Posts
- New Engine: Allie (NN) by Adam Treat, CCC, February 20, 2019
- Allie & Stein by Sven Steppenwolf, CCC, March 06, 2019
- Re: Allie & Stein by Alexander Lyashuk, CCC, March 07, 2019
- Re: Allie & Stein by Adam Treat, CCC, March 07, 2019
- Allie 0.2 by Adam Treat, CCC, March 22, 2019
- New release of Allie v0.3 by Adam Treat, CCC, May 04, 2019
- New release of Allie v0.4 by Adam Treat, CCC, May 31, 2019
External Links
Chess Engine
- GitHub - manyoso/allie: Allie: A UCI compliant chess engine
- Allie+Stein, the new neural network based engine entering TCEC S15 | Chessdom, March 02, 2019
Misc
References
- ↑ 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. arXiv:1712.01815
- ↑ allie/node.h at master · manyoso/allie · GitHub
- ↑ Third Party Nets · LeelaChessZero/lc0 Wiki · GitHub
- ↑ Jjosh is creating Leelenstein | Patreon
- ↑ Ilya Loshchilov, Frank Hutter (2016). SGDR: Stochastic Gradient Descent with Warm Restarts. arXiv:1608.03983
- ↑ Naman Agarwal, Brian Bullins, Xinyi Chen, Elad Hazan, Karan Singh, Cyril Zhang, Yi Zhang (2018). The Case for Full-Matrix Adaptive Regularization. arXiv:1806.02958
- ↑ Sergey Ioffe (2017). Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models. arXiv:1702.03275
- ↑ 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. arXiv:1511.06807
- ↑ allie/movegen.cpp at master · manyoso/allie · GitHub
- ↑ Ethereal/attacks.h at master · AndyGrant/Ethereal · GitHub
- ↑ [Re: Allie & Stein by Alexander Lyashuk, CCC, March 07, 2019