Changes

Jump to: navigation, search

ShashChess

2,580 bytes added, 08:56, 4 June 2021
no edit summary
'''ShashChess''',<br/>
a [[Stockfish]] based [[:Category:Derivative|derivative]] by [[Andrea Manzo]] with the aim to apply the proposals of [[Alexander Shashin]] as exposed in his book ''Best Play: A New Method for Discovering the Strongest Move'' <ref>[http://www.bs-chess.com/latin/lectures/2011/shashin4.html Welcome to BS Chess]</ref> <ref>[[Alexander Shashin]] ('''2013'''). ''Best Play: A New Method for Discovering the Strongest Move''. [https://mongoosepress.com/ Mongoose Press], [https://www.amazon.com/Best-Play-Discovering-Strongest-2013-01-01/dp/B01A0CKJQM Amazon]</ref>
<ref>[https://web.archive.org/web/20130909054429/http://www.chessvibes.com/review-best-play Review: Best Play | ChessVibes] by [https://ratings.fide.com/profile/1005820 Arne Moll], September 05, 2013 ([https://en.wikipedia.org/wiki/Wayback_Machine Wayback Machine])</ref>.
First released in July 2018 <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68093 ShashChess] by [[Andrea Manzo]], [[CCC]], July 28, 2018</ref>,
subsequent ShashChess versions feature [[Learning|learning]] by utilizing a [[Persistent Hash Table|persistent hash table]], [[Playing Strength|skill levels]] and handicap modes, [[NNUE]] and , [[Monte-Carlo Tree Search]] with one or multiple [[Thread|threads]] in conjunction with [[Alpha-Beta|alpha-beta]],and various [[Learning|learning]] techniques utilizing a [[Persistent Hash Table|persistent hash table]] <ref>[https://github.com/amchess/ShashChess/blob/master/README.md ShashChess/README.md at master · amchess/ShashChess · GitHub]</ref> <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=2&t=6809370948&start=265 17 Re: ShashChessKomodo MCTS] by [[Eduard NemethMark Lefler]], [[CCC]], May 20June 12, 20212019 » [[Komodo#MCTS|Komodo MCTS]]</ref>.
=Personalities=
</pre>
These personalities are considered in various [[Selectivity|search selectivity]] thresholds, along with multiple dynamic evaluation score adjustments.
 
=Q-Learning=
A learning technique derived from [[Reinforcement Learning#Q-Learning|Q-learning]], worked out and introduced by [[Kelly Kinyama]]
<ref>[https://groups.google.com/g/fishcooking/c/fhX7dFAsyew/m/NSd0-OJjBwAJ Re: Self-Learning stockfish upgraded] by [[Kelly Kinyama]], [[Computer Chess Forums|FishCooking]], May 28, 2019</ref>
<ref>[https://groups.google.com/g/fishcooking/c/6IzmiSCB8lg/m/sFeSq9ykAQAJ A new reinforcement learning implementation of Q learning algorithm for alphabeta engines to automatically tune the evaluation of chess positions] by [[Kelly Kinyama]], [[Computer Chess Forums|FishCooking]], June 29, 2020</ref>
and also employed in [[BrainLearn]] 9.0 <ref>[https://github.com/amchess/BrainLearn/releases/tag/9.0 Release BrainLearn 9.0 · amchess/BrainLearn · GitHub]</ref>,
was applied in ShashChess since version 12.0 <ref>[https://groups.google.com/g/fishcooking/c/GLag32ARtKo/m/3Zoaq3-rAwAJ ShashChess 12.0] by [[Andrea Manzo]], [[Computer Chess Forums|FishCooking]], June 28, 2020</ref>.
After the end of a decisive game in selfplay with appropriate [[Depth|search depth]], the [[Move List|list of moves]] (ml) and associated [[Score|scores]] is merged into the learn table from end to start, replacements preferring depth and score,
the score of timestep t adjusted as weighted average with the future reward of timestep t+1, using a [https://en.wikipedia.org/wiki/Q-learning#Learning_Rate learning rate] α of 0.5 and a [https://en.wikipedia.org/wiki/Q-learning#Discount_factor discount factor] γ of 0.99:
<pre>
for (t = ml.size() - 2; t >= 0; t--) {
ml[t].score = (1-α)*ml[t].score + α*γ*ml[t+1].score;
insertIntoOrUpdateLearningTable( ml[t] );
}
</pre>
=Forum Posts=
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68093 ShashChess] by [[Andrea Manzo]], [[CCC]], July 28, 2018
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68093&start=103 Re: ShashChess] (11.0) by [[Andrea Manzo]], [[CCC]], March 06, 2020
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68093&start=105 Re: ShashChess] (12.0) by [[Andrea Manzo]], [[CCC]], June 28, 2020
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68093&start=209 Re: ShashChess] (15.0) by [[Andrea Manzo]], [[CCC]], October 03, 2020
: [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=68093&start=272 Re: ShashChess] (17.1) by [[Andrea Manzo]], [[CCC]], June 01, 2021
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=68120&p=769919 Build ShashChess for Android] by [[Andrea Manzo]], [[CCC]], August 01, 2018
* [https://groups.google.com/g/fishcooking/c/GLag32ARtKo/m/3Zoaq3-rAwAJ ShashChess 12.0] by [[Andrea Manzo]], [[Computer Chess Forums|FishCooking]], June 28, 2020
* [https://groups.google.com/g/fishcooking/c/6IzmiSCB8lg/m/sFeSq9ykAQAJ A new reinforcement learning implementation of Q learning algorithm for alphabeta engines to automatically tune the evaluation of chess positions] by [[Kelly Kinyama]], [[Computer Chess Forums|FishCooking]], June 29, 2020
* [https://groups.google.com/d/msg/fishcooking/yWtpz_FY5_Y/RMTG56fkAAAJ ShashChess NNUE 1.0] by [[Andrea Manzo]], [[Computer Chess Forums|FishCooking]], July 25, 2020
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=76394 Shashchess which executable to use] by Andrew Bernasrd, [[CCC]], January 23, 2021

Navigation menu