Maelstrom 2.1.0 - what's new?
ELO Increase:
200 games at 8s+0.08s
Score of maelstrom-v2.1.0 vs maelstrom-v2.0.0: 134 - 11 - 55 [0.807]
... maelstrom-v2.1.0 playing White: 69 - 6 - 25 [0.815] 100
... maelstrom-v2.1.0 playing Black: 65 - 5 - 30 [0.800] 100
... White vs Black: 74 - 71 - 55 [0.507] 200
Elo difference: 249.1 +/- 46.1, LOS: 100.0 %, DrawRatio: 27.5 %
SPRT: llr 0 (0.0%), lbound -inf, ubound inf
200 of 1000 games finished.
50 games at 40s+0.04s
Score of maelstrom-v2.1.0 vs maelstrom-v2.0.0: 26 - 1 - 23 [0.750]
... maelstrom-v2.1.0 playing White: 15 - 1 - 9 [0.780] 25
... maelstrom-v2.1.0 playing Black: 11 - 0 - 14 [0.720] 25
... White vs Black: 15 - 12 - 23 [0.530] 50
Elo difference: 190.8 +/- 70.7, LOS: 100.0 %, DrawRatio: 46.0 %
SPRT: llr 0 (0.0%), lbound -inf, ubound inf
50 of 1000 games finished.
Features:
Fix: engine was flagging on the last move before time control when using movestogo and increment.
Fix: generateCaptures was incorrect, producing illegal captures. Fixed and is now used by Quiescence Search.
Fix: edge case where check extension causes engine to search above max depth
Fix: duplicate moves appearing in at the end of the PV, due to updating PV from TT hit
Refactor: all code to align with better readability and Golang idioms
Refactor: PVS to be more like negamax, reduce number of recursive calls
Improvement: instead of using fixed LMR R value, use a logarithm-based formula used by Ethereal
Improvement: instead of futility pruning only at leaf nodes, use depth-based margin. Values from Blunder
Improvement: replace sorting for move ordering with selection-based approach. This is more efficient since there will be cutoffs early in the move list.
Feature: Add 50-move rule detection
Feature: Add version number to UCI greeting
Maelstrom 1.0.1 vs other engines:
ShashChess 23 | 0/6 | -6 | 6 Games |
Caissa 0.8.0 | 0/6 | -6 | 6 Games |
Berserk 10 | 0/6 | -6 | 6 Games |
StockNemo 4.0.0.1 | 0/6 | -6 | 6 Games |
Avalanche 1.1.0 | 0/6 | -6 | 6 Games |
BrainLearn 18 | 0/6 | -6 | 6 Games |
Eman 8.20 | 0/6 | -6 | 6 Games |
Fritz 18 | 0/4 | -4 | 4 Games |
Stockfish 250722 Ivec | 0/4 | -4 | 4 Games |
CorChess 250722 | 0/4 | -4 | 4 Games |
Stockfish 130722 | 0/4 | -4 | 4 Games |
Lumac0 13.2 | 1/2 | +0 | 2 Games |
Vault 0.4 | 1/2 | +0 | 2 Games |
Eubos 2.3 | 0.5/2 | -1 | 2 Games |
Inanis 1.1.0 | 0/2 | -2 | 2 Games |
Nalwald 16 | 0/2 | -2 | 2 Games |
Bagatur 3.5 | 0/2 | -2 | 2 Games |
Virtue 2.3.0 | 0/2 | -2 | 2 Games |
Arasan 23.4 | 0/2 | -2 | 2 Games |
Dumb 1.10 | 0/2 | -2 | 2 Games |
Knightx 3.4 | 0/2 | -2 | 2 Games |
Comments
Post a Comment