Difference between revisions of "FastChess"
GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * FastChess''' FILE:FastChessScreen.jpg|border|right|thumb|link=https://github.com/thomasahle/fastchess/blob/master/README.md| FastChess...") |
GerdIsenberg (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
'''[[Main Page|Home]] * [[Engines]] * 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> ]] | + | [[FILE:FastChessScreen.jpg|border|right|thumb|link=https://github.com/thomasahle/fastchess/blob/master/README.md#screenshot| FastChess Screen <ref>[https://github.com/thomasahle/fastchess/blob/master/README.md#screenshot fastchess/README.md at master · thomasahle/fastchess · GitHub - Screenshot]</ref> ]] |
'''FastChess''',<br/> | '''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]]. | 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. | 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. | + | 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 <ref>[https://github.com/thomasahle/fastchess/blob/master/README.md#teaching-fasttext-to-play-chess fastchess/README.md at master · thomasahle/fastchess · GitHub - Teaching FastText to play Chess]</ref>. |
=Training= | =Training= | ||
Line 16: | Line 16: | ||
=See also= | =See also= | ||
* [[AlphaZero]] | * [[AlphaZero]] | ||
+ | * [[ConvChess]] | ||
* [[Sunfish]] | * [[Sunfish]] | ||
* [[PyChess]] | * [[PyChess]] |
Latest revision as of 13:56, 30 May 2021
FastChess,
a didactic open source chess engine by Thomas Dybdahl Ahle, written in Python, licensed under the GPL v3.0.
FastChess predicts the next move by probing a one-layer neural network softmax model, using the 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 along with the PUCT selection to improve the quality of play [2].
Training
FastChess' model is trained by feeeding a set of 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 [3].
Tuning
FastChess' hyperparameters can be tuned with black box optimization through scikit optimize [4].
See also
Forum Posts
- Re: A question to MCTS + NN experts by Thomas Dybdahl Ahle, CCC, August 04, 2019
- New Tool for Tuning with Skopt by Thomas Dybdahl Ahle, CCC, August 25, 2019 [5]
- Re: AlphaZero by Thomas Dybdahl Ahle, CCC, May 05, 2020
External Links
- GitHub - thomasahle/fastchess: Predicts the best chess move with 27.5% accuracy by a single matrix multiplication
- GitHub - thomasahle/noisy-bayesian-optimization: Bayesian Optimization for very Noisy functions
References
- ↑ fastchess/README.md at master · thomasahle/fastchess · GitHub - Screenshot
- ↑ fastchess/README.md at master · thomasahle/fastchess · GitHub - Teaching FastText to play Chess
- ↑ fastchess/README.md at master · thomasahle/fastchess · GitHub - Train the model
- ↑ New Tool for Tuning with Skopt by Thomas Dybdahl Ahle, CCC, August 25, 2019
- ↑ skopt API documentation