Author:Dan Kelsey
v.4.3.0:
Calvin 4.3.0 brings significant improvements to Calvin's evaluation function, as well as a grab bag of small gains in search and move ordering.
For evaluation Calvin uses a new neural net, with an increased hidden size of 512, trained on 950 million positions. Calvin also now uses a new activation function, switching from crelu to screlu - which brought a very significant strength jump.
In search, Calvin uses some new pruning techniques, including history pruning, history-based late move reductions, capture late move reductions, and razoring.
Test results from self-play suggest a new elo rating about 100 higher than the previous release:
STC (8+0.08):
Score of Calvin DEV vs Calvin: 655 - 234 - 611 [0.640] 1500
Elo difference: 100.2 +/- 13.7, LOS: 100.0 %, DrawRatio: 40.7 %
LTC (30+0.3):
Score of Calvin DEV vs Calvin: 214 - 57 - 229 [0.657] 500
Elo difference: 112.9 +/- 22.5, LOS: 100.0 %, DrawRatio: 45.8 %
These results, combined with tests against other engines of similar strength, suggest an estimated rating of around 3250 - 3300.
⚖️ Evaluation
Switch to screlu activation function (#122)
Increase hidden layer size -> 512 (#138)
Significant NNUE code refactor (#137)
🔍 Search
History pruning (#127)
History reductions (#139)
Capture late move reductions (#142)
TT eval correction (#146)
Razoring (#131)
SPSA tunes (#144, #145)
🔢 Move ordering
Only update quiet history on fail high (#113)
Only update capture history on fail high (#114)
2-ply continuation history (#104)
⚡ Performance
Call garbage collector on UCI newgame (#112)
Optimise MovePicker (#129)
How to run
Please download one of the jar files from this release. There are two release jars: calvin-chess-engine and calvin-chess-engine-no-simd. The no-simd release is specifically for CCRL testers: since ChessGUI does not support passing Java opts to a jar file, the Vector API which Calvin uses for NNUE must be disabled.
For the standard calvin-chess-engine release, Calvin can be started by running the command:
java --add-modules jdk.incubator.vector -jar path/to/calvin-chess-engine-4.3.0.jar
For the CCRL calvin-chess-engine-no-simd release, the Java opt can be ommited:
java -jar path/to/calvin-chess-engine-no-simd-4.3.0.jar
CalvinChess 4.3.0 download mirror
Comments
Post a Comment