Changes

Jump to: navigation, search

FastChess

3,097 bytes added, 15:17, 17 September 2020
Created page with "'''Home * Engines * FastChess''' FILE:FastChessScreen.jpg|border|right|thumb|link=https://github.com/thomasahle/fastchess/blob/master/README.md| FastChess..."
'''[[Main Page|Home]] * [[Engines]] * FastChess'''

[[FILE:FastChessScreen.jpg|border|right|thumb|link=https://github.com/thomasahle/fastchess/blob/master/README.md| FastChess Screen <ref>[https://github.com/thomasahle/fastchess/blob/master/README.md fastchess/README.md at master · thomasahle/fastchess · GitHub]</ref> ]]

'''FastChess''',<br/>
a didactic [[:Category:Open Source|open source chess engine]] by [[Thomas Dybdahl Ahle]], written in [[Python]], licensed under the [[Free Software Foundation#GPL|GPL v3.0]].
FastChess predicts the next move by probing a one-layer [[Neural Networks|neural network]] [https://en.wikipedia.org/wiki/Softmax_function softmax] model, using the [https://en.wikipedia.org/wiki/FastText fastText] text classification library.
The model takes the board state as input, and outputs a vector of probabilities for each possible move. That simple linear model might further be combined with a [[Monte-Carlo Tree Search|Monte-Carlo tree search]] along with the [[Christopher D. Rosin#PUCT|PUCT]] selection to improve the quality of play.

=Training=
FastChess' model is [[Supervised Learning|trained]] by feeeding a set of [[Portable Game Notation|pgn files]] to a special training procedure, creating the neural network weights in form of a ''model.bin'' file, which is later used to play chess <ref>[https://github.com/thomasahle/fastchess/blob/master/README.md#train-the-model fastchess/README.md at master · thomasahle/fastchess · GitHub - Train the model]</ref>.

=Tuning=
FastChess' [https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning) hyperparameters] can be [[Automated Tuning|tuned]] with [[Automated Tuning#Optimization|black box optimization]] through [https://en.wikipedia.org/wiki/Hyperparameter_optimization#Bayesian scikit optimize] <ref>[http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71650 New Tool for Tuning with Skopt] by [[Thomas Dybdahl Ahle]], [[CCC]], August 25, 2019</ref>.

=See also=
* [[AlphaZero]]
* [[Sunfish]]
* [[PyChess]]

=Forum Posts=
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71301&start=8 Re: A question to MCTS + NN experts] by [[Thomas Dybdahl Ahle]], [[CCC]], August 04, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71650 New Tool for Tuning with Skopt] by [[Thomas Dybdahl Ahle]], [[CCC]], August 25, 2019 <ref>[https://scikit-optimize.github.io/ skopt API documentation]</ref>
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=73772&start=15 Re: AlphaZero] by [[Thomas Dybdahl Ahle]], [[CCC]], May 05, 2020

=External Links=
* [https://github.com/thomasahle/fastchess GitHub - thomasahle/fastchess: Predicts the best chess move with 27.5% accuracy by a single matrix multiplication]
* [https://github.com/thomasahle/noisy-bayesian-optimization GitHub - thomasahle/noisy-bayesian-optimization: Bayesian Optimization for very Noisy functions]

=References=
<references />
'''[[Engines|Up one level]]'''
[[Category:Open Source]]
[[Category:GPL]]
[[Category:UCI]]
[[Category:Python]]
[[Category:NN]]
[[Category:MCTS]]
[[Category:Chess Suffix]]
[[Category:Didactic]]

Navigation menu