Difference between revisions of "Allie"

From Chessprogramming wiki
Jump to: navigation, search
 
(10 intermediate revisions by 2 users not shown)
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 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>.
+
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 - utilizing the [[Neural Networks|networks]] produced by Leela Chess, and sharing the [https://en.wikipedia.org/wiki/CuDNN CuDNN] backend written by [[Ankan Banerjee]] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822&start=48 Re: My failed attempt to change TCEC NN clone rules] by [[Adam Treat]], [[CCC]], September 19, 2019</ref>. Allie is a replacement of [[Leela Chess Zero#Lc0|Lc0's]] search 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 '''Stein''' 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]],  
 
supported by [[Ilya Loshchilov#SGDR|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 [[Ilya Loshchilov#SGDR|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>,
Line 15: Line 15:
 
* [[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>
 
* [[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]]
 
* [[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>
+
* [[Leela Chess Zero#Lc0|Lc0 NN Backend]] by [[Ankan Banerjee]] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822&start=48 Re: My failed attempt to change TCEC NN clone rules] by [[Adam Treat]], [[CCC]], September 19, 2019</ref>
 
* [[Monte-Carlo Tree Search]]
 
* [[Monte-Carlo Tree Search]]
 
* [[UCT#PUCT|PUCT]]  
 
* [[UCT#PUCT|PUCT]]  
Line 34: Line 34:
  
 
=Forum Posts=
 
=Forum Posts=
 +
==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=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
Line 42: Line 43:
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70874 New release of Allie v0.4] by [[Adam Treat]], [[CCC]], May 31, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?t=70874 New release of Allie v0.4] by [[Adam Treat]], [[CCC]], May 31, 2019
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822 My failed attempt to change TCEC NN clone rules] by [[Alexander Lyashuk]], [[CCC]], September 14, 2019 » [[TCEC]]
 
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822 My failed attempt to change TCEC NN clone rules] by [[Alexander Lyashuk]], [[CCC]], September 14, 2019 » [[TCEC]]
 +
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=71822&start=48 Re: My failed attempt to change TCEC NN clone rules] by [[Adam Treat]], [[CCC]], September 19, 2019
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=72085 Allie v0.5 released] by [[Adam Treat]], [[CCC]], October 14, 2019 » [[TCEC Season 16]]
 +
==2020 ...==
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=73712 New version of Allie v0.6] by [[Adam Treat]], [[CCC]], April 20, 2020
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=74449 Release v0.7 of Allie] by [[Adam Treat]], [[CCC]], July 11, 2020
 +
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76686 Why I stood up for Allie is why I stand up for FF2] by [[Dietrich Kappe]], [[CCC]], February 23, 2021 » [[Fat Fritz]]
  
 
=External Links=
 
=External Links=
Line 57: Line 64:
 
[[Category:Derivative]]
 
[[Category:Derivative]]
 
[[Category:UCI]]
 
[[Category:UCI]]
 +
[[Category:GPU]]
 +
[[Category:DCNN]]
 +
[[Category:MCTS]]
 +
[[Category:PC]]
 
[[Category:Chess960]]
 
[[Category:Chess960]]
 
[[Category:Given Name]]
 
[[Category:Given Name]]

Latest revision as of 19:31, 24 February 2021

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 - utilizing the networks produced by Leela Chess, and sharing the CuDNN backend written by Ankan Banerjee [2]. Allie is a replacement of Lc0's search with an own implementation of a PUCT Monte-Carlo tree search [3].

AllieStein

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

Features

Lc0 Intersections

Lc0diagram.png
Alliestein.png

What Alliestein has in Common with Lc0 [13]


See also

Forum Posts

2019

Re: Allie & Stein by Alexander Lyashuk, CCC, March 07, 2019
Re: Allie & Stein by Adam Treat, CCC, March 07, 2019
Re: My failed attempt to change TCEC NN clone rules by Adam Treat, CCC, September 19, 2019

2020 ...

External Links

Chess Engine

Misc

References

  1. 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
  2. Re: My failed attempt to change TCEC NN clone rules by Adam Treat, CCC, September 19, 2019
  3. allie/node.h at master · manyoso/allie · GitHub
  4. Third Party Nets · LeelaChessZero/lc0 Wiki · GitHub
  5. Jjosh is creating Leelenstein | Patreon
  6. Ilya Loshchilov, Frank Hutter (2016). SGDR: Stochastic Gradient Descent with Warm Restarts. arXiv:1608.03983
  7. 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
  8. Sergey Ioffe (2017). Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models. arXiv:1702.03275
  9. 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
  10. allie/movegen.cpp at master · manyoso/allie · GitHub
  11. Ethereal/attacks.h at master · AndyGrant/Ethereal · GitHub
  12. Re: My failed attempt to change TCEC NN clone rules by Adam Treat, CCC, September 19, 2019
  13. My failed attempt to change TCEC NN clone rules by Alexander Lyashuk, CCC, September 14, 2019 » TCEC

Up one level