justNo4b / Equisetum

Drofa chess engine with NNUE evaluation
GNU General Public License v3.0
19 stars 1 forks source link
artificial-intelligence chess chess-engine neural-network nnue

Equisetum

A UCI chess engine written in C++11. Equisetum uses Fail-Hard AB-search and NNUE evaluation. This approach resulted in an engine of moderate strength. One of the few strong engines using a fail-hard approach

NNUE

Equisetum uses an NNUE (efficiently updatable neural network) as an evaluation function.

Current implementation is a very simple (768-1024)x2 -> 1 network. It is trained on Equisetum self-play games using a mix of a play from a randomized startposition and a randomized positions derived from human high-bias positions.

Network is training using CudAD

Origins

Equisetum is basically a continuation of the Drofa chess engine, which in turn is started as fork of the Shallow Blue chess engine. My initial intention was to take weak, but stable and working chess engine and try to improve it, learning c++ along the way.

During my Drofa/Equisetum experiments huge chunk of knowlenge were received from:

Special thanks to:

Strength

Current Equisetum is estimated to be somewhere before Stockfish 11 and Stockfish 12 strength.

UCI commands

Equisetum supports following UCI commands:

These options can be set from your chess GUI or the UCI interface as follows:

setoption name OwnBook value true
setoption name BookPath value /path/to/book.bin

License

During developement, many concepts found in GPL-3 engines were used. Thus, as of 4.0.0, Equisetum also will be licensed as GPL-3.

2017 - 2019 © Rhys Rustad-Elliott (original Shallow Blue creator)

2020 - 2024 © Litov Alexander