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
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
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:
Current Equisetum is estimated to be somewhere before Stockfish 11 and Stockfish 12 strength.
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
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