2BR17
Version 2BR17 • Third Public Release
Stay safe, and thank you for your interest in Expositor!
Overview
This release features two major improvements:
-
Search Tuning Many of the constants in Expositor's search have now been tuned with a variation of simultaneous perturbation stochastic approximation (SPSA). Along with internal iterative reductions, this has increased the strength by approximately 100 Elo against 2WN29 in self-play.
-
Internal Tablebases Expositor now has an internal 3-man tablebase and I'm working on an optional 4-man tablebase. This will not increase her strength, since her endgame heuristics are sufficient for 3- and 4-man endgames (besides some KBN v K positions), but I wanted a break from work on HCE bootstrapping and thought it would be fun.
The complete list of changes made in this release is below.
Fixes
- fixed error where spurious moves could be printed at the end of the principal variation (PV)
- fixed error in Linux build script that caused the script to fail when building commits with commit dates in August through December
Improvements
- search constants have been tuned with a modified form of SPSA
- added internal iterative reductions
- transposition table entries are now prefetched
- added internal 3-man tablebase
- threads now clear their own context and statistics in parallel when a search begins
- the PGN parser can now handle moves written without a space after the move number (e.g.
1.e4
)
Time Control
- target time adjustments based on PV stability now depend on the depth at which the PV changes
- searches are now less likely to stop immediately after the PV changes
Miscellaneous
- scores taper to half their nominal value rather than to zero as the 50-move horizon approaches
- made slight improvements to the efficiency of static exchange analysis
- made various small simplifications in the codebase
- added various developer tools