Skip to content
Modification of the Stockfish chess engine using backpropagation neural network for evaluation.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Use the neural network evaluation in the `online learning mode'. Jan 31, 2011
COPYING Stockfish 2.0.1 initial commit. Jan 27, 2011
Makefile neuroStock - initial working state Jan 27, 2011
README.org Rename README for formatting. Feb 15, 2013
benchmark.cpp neuroStock - initial working state Jan 27, 2011
bitbase.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
bitboard.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
bitboard.h Stockfish 2.0.1 initial commit. Jan 27, 2011
bitcount.h Stockfish 2.0.1 initial commit. Jan 27, 2011
book.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
book.h Stockfish 2.0.1 initial commit. Jan 27, 2011
bpn.cpp More tuning along thread mutexing. Adding `UnitThreadFuncRenewAsync'. Feb 12, 2011
bpn.h More tuning along thread mutexing. Adding `UnitThreadFuncRenewAsync'. Feb 12, 2011
bpnlayer.cpp Add ability to change number of threads. Minor fixes. Jan 31, 2011
bpnlayer.h Add ability to change number of threads. Minor fixes. Jan 31, 2011
color.h Stockfish 2.0.1 initial commit. Jan 27, 2011
depth.h Stockfish 2.0.1 initial commit. Jan 27, 2011
endgame.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
endgame.h Stockfish 2.0.1 initial commit. Jan 27, 2011
evaluate.cpp Use the neural network evaluation in the `online learning mode'. Jan 31, 2011
evaluate.h Stockfish 2.0.1 initial commit. Jan 27, 2011
history.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
history.h Stockfish 2.0.1 initial commit. Jan 27, 2011
lock.h Stockfish 2.0.1 initial commit. Jan 27, 2011
main.cpp neuroStock - initial working state Jan 27, 2011
material.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
material.h Stockfish 2.0.1 initial commit. Jan 27, 2011
misc.cpp neuroStock - initial working state Jan 27, 2011
misc.h Stockfish 2.0.1 initial commit. Jan 27, 2011
move.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
move.h Stockfish 2.0.1 initial commit. Jan 27, 2011
movegen.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
movegen.h Stockfish 2.0.1 initial commit. Jan 27, 2011
movepick.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
movepick.h Stockfish 2.0.1 initial commit. Jan 27, 2011
pawns.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
pawns.h Stockfish 2.0.1 initial commit. Jan 27, 2011
piece.h Stockfish 2.0.1 initial commit. Jan 27, 2011
polyglot.ini neuroStock - initial working state Jan 27, 2011
position.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
position.h Stockfish 2.0.1 initial commit. Jan 27, 2011
psqtab.h Stockfish 2.0.1 initial commit. Jan 27, 2011
rkiss.h Stockfish 2.0.1 initial commit. Jan 27, 2011
san.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
san.h Stockfish 2.0.1 initial commit. Jan 27, 2011
search.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
search.h Stockfish 2.0.1 initial commit. Jan 27, 2011
square.h Stockfish 2.0.1 initial commit. Jan 27, 2011
stock.bpn Use the neural network evaluation in the `online learning mode'. Jan 31, 2011
thread.h Stockfish 2.0.1 initial commit. Jan 27, 2011
timeman.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
timeman.h Stockfish 2.0.1 initial commit. Jan 27, 2011
tt.cpp Stockfish 2.0.1 initial commit. Jan 27, 2011
tt.h Stockfish 2.0.1 initial commit. Jan 27, 2011
types.h Stockfish 2.0.1 initial commit. Jan 27, 2011
uci.cpp neuroStock - initial working state Jan 27, 2011
ucioption.cpp neuroStock - initial working state Jan 27, 2011
ucioption.h Stockfish 2.0.1 initial commit. Jan 27, 2011
value.h Stockfish 2.0.1 initial commit. Jan 27, 2011

README.org

Introduction

neuroStock is a free UCI chess engine based on the excellent Stockfish [fn:1] which is derived from Glaurung 2.1. neuroStock is an attempt to integrate a backpropagation neural network as an evaluation function.

Usage

The engine has 4 modes of play, controlled by the “Mode” UCI parameter:

0 - original Stockfish eval is logged to files. There has to be a `logs’ directory along the neuroStock executable. These log files can be processed by the neuroChessTrainer [fn:2] program to train and test networks. This mode can work correctly only on single thread so be sure to specify “Threads” UCI parameter as 1.

1 - online training. The original Stockfish eval is used to train the network specified by the “Neural Network File” UCI parameter whose evaluation is actually used for playing. This mode is the slowest but the most interesting as the engine is supposed to improve somewhat with every move (in fact, with every thought)! The neural network file format can be found at [fn:2] (not fully specified network is also allowed). If the file is missing, new network is created and will be freshly initialized. Newly trained network is saved to the same file when engine is unloaded. For this mode a single engine thread is also mandatory but there is additional “Training Threads” UCI parameter which specifies number of threads within the neural network.

2 - neural network specified by “Neural Network File” UCI parameter is used for evaluation (again not fully specified network or missing network file is also allowed but it will be freshly initialized and thus playing randomly). Multiple threads specified by the “Threads” UCI parameter are allowed.

3 - original Stockfish playing.

MISC

neuroStock is developed and thus far only tested on GNU/Linux. Instructions about building from source are identical to Stockfish’s. Invoke `make help’ within the source directory for details and options.

Disclaimer

neuroStock is an experiment (more like meta-engine) and in combination with neuroChessTrainer[fn:2] supposed to be testing platform for different backpropagation neural networks. There are no expectations for engine strength and as far as hardly trained, it plays like a blond bimbo.

Footnotes

[fn:1] http://www.stockfishchess.com [fn:2] https://github.com/m00natic/neuroChessTrainer

You can’t perform that action at this time.