Since you’re here...

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.
============================== My email: jotes@go2.pl



New version chess engines: CalvinChess 4.2.0 (java)



Calvin Chess - java chess engine
Author:Dan Kelsey

v.4.2.0:
Calvin 4.2.0 brings a strength increase of around 80 elo, with improvements in a few areas, in particular evaluation and move ordering.

It features a new neural net, with an increased hidden layer size of 384 trained on 470 million positions - as well as eval scaling based on the remaining material on the board. For move ordering, 1-ply conthist has been added, along with a complete re-write of the MovePicker and HistoryTable code.

The primary reason for this release though is to fix a bug that was discovered during CCRL matches, where Calvin would hang when sent a negative time by the match runner. This is apparently a common issue, and so I'm joining a long list of devs who have scrambled to fix it 😄

LTC: Elo difference: 80.6 +/- 23.9
STC: Elo difference: 82.1 +/- 23.4
Estimated strength: 3200

⚖️ Evaluation
New net: 384 HL size, 470m fens (#108)
Material eval scaling (#72)
Optimise NNUE inference / accumulator updates (#73)
🔢 Move ordering
1-ply conthist (#97)
Apply malus to all quiets that don't raise alpha (#83)
Clear ply + 1 killers every node (#80)
🔍 Search
Use improving heuristic in RFP (#79)
Add fail-high aspiration depth reduction (#82)
Use fail-soft in quiescence (#89)
Tweak LMR (#93)
Quiescence search futility pruning (#95)
⌛ Time management
Node TM (#106)
🐛 Bugfix
Fix negative time CCRL bug (#98)
Stop calling movegen twice when in check (#71)
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.2.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.2.0.jar

CalvinChess 4.2.0 download


Comments