FastChess

Home * Engines * FastChess



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.

=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.

=Tuning= FastChess' hyperparameters can be tuned with black box optimization through scikit optimize.

=See also=
 * AlphaZero
 * Sunfish
 * PyChess

=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
 * 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= Up one level