Chess engine: Expositor
Author: Kade
You can play against her on Lichess or download a copy for local use.
Expositor does not yet have a CCRL rating, but from private testing I estimate her CCRL rating to be between 3000 and 3100 Elo.
There are no command line options, but the engine does support some nonstandard commands; for more information, start Expositor and enter help.
Note that the transposition table is effectively cleared between searches.
Expositor does not yet have a CCRL rating, but from private testing I estimate her CCRL rating to be between 3000 and 3100 Elo.
There are no command line options, but the engine does support some nonstandard commands; for more information, start Expositor and enter help.
Note that the transposition table is effectively cleared between searches.
Releases
If you know the microarchitecture of your processor, try using a binary from the appropriate specific/ directory of a release archive.34 If you don't know the microarchitecture of your processor but you do know which features it supports, try using a binary from the appropriate generic/ directory of a release archive. See the file named "extensions" in this repository for more information.
The binaries include the default network, so you do not need to download a separate copy and do not need to set the EvalFile UCI option.
Building
If you'd like to compile Expositor from source, you will need to use a recent nightly toolchain.
To build Expositor on Windows, run the build.bat script. (This sets the VERSION, BUILD, and RUSTFLAGS environment variables and then invokes cargo build --release.)
To build Expositor on Linux, run the build script. (This needs to be done from within the repository, since it uses Git to automatically determine the version number.)
Issues
If you find any bugs or have any questions, please file an issue on Github or send me a message.
Pending
The to-do list has gotten to be rather long and variegated. My current plan is to tackle the smaller items first (aiming for a release in March or April) and then to begin work on some larger projects:
Tuning Search None of the search constants have been tuned! I expect to be able to wring a fair amount of playing strength out of that.
HCE Bootstrapping The neural network is currently trained from positions scored with Stockfish. I'd like to write an evaluator that replicates the personality of early versions of Expositor, train a network from positions scored by Expositor using that evaluator, then train another network from positions scored using the previous network, and so on.
Experimental Network Architectures I'd like to try using different input features and play around with small convolutional networks.
Error Tracking Search I've been reading and thinking about this since I started chess programming and at one point it was my primary focus. I'd like to pick it up again, deliver a working proof of concept of my ideas, and then write up my findings.
Infrastructure I'd like to write my own automation system (à la OpenBench) that will kick off SPRT testing whenever I push a commit.
These are processed by Expositor with her quiescing search and the leaves from those searches are then scored with Stockfish.
Most of the positions used for perft tests are from the Zahak repository.
Particular thanks to Jeremy Wright for help with main search. Many techniques were implemented from his descriptions and use parameter values he suggested.
Comments
Post a Comment