Author:Dan Kelsey
v.5.0.0:
The first major release of Calvin since NNUE brings with it support for FRC (Fischer Random Chess) and DFRC (Double Fischer Random Chess)!
In addition, a new neural network and multiple enhancements to Calvin's search algorithm bring a significant strength increase of around 115 elo (LTC):
Score of Calvin DEV vs Calvin: 1839 - 563 - 1598 [0.659] 4000
Elo difference: 114.8 +/- 8.5, LOS: 100.0 %, DrawRatio: 40.0 %
These results, combined with tests against other engines of similar strength, suggest an estimated rating of around 3400.
♟️ FRC/DFRC (#217)
FRC, also known as Chess960, follows the same rules as standard chess, except the positions of the pieces on the players' home ranks are randomised, following certain rules:
The king must still be between the rooks,
The bishops must still be on squares of opposite colour,
White and black's pieces must be mirrored.
This leads to 960 possible starting positions, including the standard chess starting position. DFRC drops the last rule, meaning white and black can start with asymmetrical pieces.
FRC is interesting from a standpoint of a human player, since gaining an advantage through opening memorisation is effectively impossible - the player must instead rely entirely on their own creativity and skill over the board. And it's an interesting challenge for a chess programmer, since it requires that the board representation and move generation logic is much more abstract, with dynamic starting positions of the pieces and more fluid castling logic.
FRC/DFRC can be enabled via the UCI_Chess960 option.
⚖️ Evaluation
New net, 768 hidden layer, screlu, 1.2 billion positions #178
🔍 Search
Pawn correction history (#74)
Non-pawn correction history (#163)
RFP quiet reductions (#209, #213)
FP quiet reductions (#211, #214)
TT non-cutoff extension (#172)
Capthist late move reductions (#180)
Don't TT cut in PV qsearch nodes (#184)
NMP eval-based reductions (#190)
Store staticEval early in TT (#208)
Don't check TT entry depth in qsearch (#216)
SPSA tune (#158)
🔢 Move ordering
Increase history bonus if staticEval > alpha (#148)
⚡ Performance
Compress TT entry (#161)
💬 Communication
UCI hashfull support (#151)
Pretty print support (#147)
How to run
Calvin is available for download as a Java jar file, or as a standalone Windows executable.
To run the jar file, you will need to enable the Vector API package which Calvin uses for SIMD, via this command:
java --add-modules jdk.incubator.vector -jar path/to/calvin-chess-engine-5.0.0.jar
Comments
Post a Comment