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



Maelstrom 2.1.0 - new version chess engine


MaelstromUCI-compliant Golang chess engine in development from scratch. 

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 230/6-66 Games
Caissa 0.8.00/6-66 Games
Berserk 100/6-66 Games
StockNemo 4.0.0.10/6-66 Games
Avalanche 1.1.00/6-66 Games
BrainLearn 180/6-66 Games
Eman 8.200/6-66 Games
Fritz 180/4-44 Games
Stockfish 250722 Ivec0/4-44 Games
CorChess 2507220/4-44 Games
Stockfish 1307220/4-44 Games
Lumac0 13.21/2+02 Games
Vault 0.41/2+02 Games
Eubos 2.30.5/2-12 Games
Inanis 1.1.00/2-22 Games
Nalwald 160/2-22 Games
Bagatur 3.50/2-22 Games
Virtue 2.3.00/2-22 Games
Arasan 23.40/2-22 Games
Dumb 1.100/2-22 Games
Knightx 3.40/2-22 Games




Comments