Releases: jhonnold/berserk
Berserk 4.0.0
Changes
- SMP functionality added
- Various speed improvements
- King safety reverted to pre-3.3.0 implementation
- Endgame specific functionality ended
- KPK Bitbase (credit to Cheng)
- KXK knowledge
- Scale strong side scoring based on board state
- Tactical moves included in LMR
- Improvement on time management
- IID
Special Thanks
- Koivisto authors for guidance/assistance
- Lars for preliminary testing
Testing
Preliminary results by Lars show that this release is most likely +120 Elo over 3.2.1
Berserk 3.3.0
Changes
- Singular extension
- LMR based around historical score
- Improvements around passed pawn evaluation
- Finer tuning of values
- Outpost improvements
- Bishop outposts and "seeing" outposts
- King safety shelter built into quadratic calculation
- Previously was a separate linear calculation
Note: Bolded changes reported largest Elo gains in self-play testing
Special Thanks
- Lars for consistent encouragement
- Martin Sedlak for guidance
- Aleksey Glebov for hosting a wonderful tournament with Berserk in it, and finding the picture I now use
Testing
Games played at 120+1 TC using cutechess-cli
Score of Berserk 3.3.0-rc vs Cheng 4.40: 28 - 24 - 44 [0.521] 96
... Berserk 3.3.0-rc playing White: 16 - 11 - 21 [0.552] 48
... Berserk 3.3.0-rc playing Black: 12 - 13 - 23 [0.490] 48
... White vs Black: 29 - 23 - 44 [0.531] 96
Elo difference: 14.5 +/- 51.5, LOS: 71.0 %, DrawRatio: 45.8 %
Score of Berserk 3.3.0-rc vs Mr Bob v1.0.0: 28 - 21 - 47 [0.536] 96
... Berserk 3.3.0-rc playing White: 13 - 8 - 27 [0.552] 48
... Berserk 3.3.0-rc playing Black: 15 - 13 - 20 [0.521] 48
... White vs Black: 26 - 23 - 47 [0.516] 96
Elo difference: 25.4 +/- 49.9, LOS: 84.1 %, DrawRatio: 49.0 %
Score of Berserk 3.3.0-rc vs Monolith 2: 28 - 28 - 40 [0.500] 96
... Berserk 3.3.0-rc playing White: 19 - 11 - 18 [0.583] 48
... Berserk 3.3.0-rc playing Black: 9 - 17 - 22 [0.417] 48
... White vs Black: 36 - 20 - 40 [0.583] 96
Elo difference: 0.0 +/- 53.4, LOS: 50.0 %, DrawRatio: 41.7 %
Berserk 3.2.1
Changes
This is a small set of changes, very little Elo gain (all from additional tuning)
- Retuned evalution parameters from 0 using a larger dataset
- Increase input buffer to support games 200+ moves
- Attempted to resolve zombie's when using OpenBench
- Don't think it's working
Berserk 3.2.0
Changes
- Values tuned using Texel's Tuning Method
- Used
quiet-labeled.epd
as the training set
- Used
Berserk 3.1.0
Changes
This release is mostly for NPS and bug fixing
NPS
- Improvement piece tracking in
Board
- Heavier usage on arrays instead of operations
- Evaluation stored in TT
- Fifty move rule combined with
isRepetition
Bugs
- Zobrist collisions due to bad PRNG resolved
- Special thanks to Martin (author of Cheng) for assisting me with this
- MVV_LVA sorting of EP moves
- Reset killers at start of new ply
Bench: 10593829
Short test vs Berserk 3.0.0
ELO | 36.32 +- 35.94 (95%)
SPRT | 60+1s Threads=1 Hash=32MB
LLR | 1.71 (-2.94, 2.94) [-10.00, 10.00]
Games | N: 192 W: 60 L: 40 D: 92
Berserk 3.0.0
Changes
- Improved LMR
- Added LMP
- King Safety evaluation improvement
- Threat evalution
- SEE pruning in qsearch
- Aspiration window adjustments
There are probably other's that I'm missing.
Largest improvements for this release seem to come from LMP, SEE pruning in qsearch, and threat evaluation.
Tests against other engines:
Score of Berserk 3.0.0 vs Delfi 5.4: 48 - 17 - 31 [0.661] 96
... Berserk 3.0.0 playing White: 24 - 9 - 15 [0.656] 48
... Berserk 3.0.0 playing Black: 24 - 8 - 16 [0.667] 48
... White vs Black: 32 - 33 - 31 [0.495] 96
Elo difference: 116.4 +/- 59.4, LOS: 100.0 %, DrawRatio: 32.3 %
Score of Berserk 3.0.0 vs Donna 4.1: 38 - 16 - 42 [0.615] 96
... Berserk 3.0.0 playing White: 22 - 5 - 21 [0.677] 48
... Berserk 3.0.0 playing Black: 16 - 11 - 21 [0.552] 48
... White vs Black: 33 - 21 - 42 [0.563] 96
Elo difference: 81.1 +/- 52.8, LOS: 99.9 %, DrawRatio: 43.8 %
Score of Berserk 3.0.0 vs Berserk 2.0.0+popcnt: 65 - 3 - 28 [0.823] 96
... Berserk 3.0.0 playing White: 30 - 1 - 17 [0.802] 48
... Berserk 3.0.0 playing Black: 35 - 2 - 11 [0.844] 48
... White vs Black: 32 - 36 - 28 [0.479] 96
Elo difference: 266.9 +/- 66.0, LOS: 100.0 %, DrawRatio: 29.2 %
Score of Berserk 3.0.0 vs Arminius 2018-12-23: 38 - 18 - 40 [0.604] 96
... Berserk 3.0.0 playing White: 18 - 9 - 21 [0.594] 48
... Berserk 3.0.0 playing Black: 20 - 9 - 19 [0.615] 48
... White vs Black: 27 - 29 - 40 [0.490] 96
Elo difference: 73.5 +/- 53.8, LOS: 99.6 %, DrawRatio: 41.7 %
Score of Berserk 3.0.0 vs Velvet v1.2.0: 40 - 24 - 32 [0.583] 96
... Berserk 3.0.0 playing White: 25 - 5 - 18 [0.708] 48
... Berserk 3.0.0 playing Black: 15 - 19 - 14 [0.458] 48
... White vs Black: 44 - 20 - 32 [0.625] 96
Elo difference: 58.5 +/- 57.6, LOS: 97.7 %, DrawRatio: 33.3 %
Score of Berserk 3.0.0 vs Devel 3.8.4: 32 - 26 - 38 [0.531] 96
... Berserk 3.0.0 playing White: 14 - 17 - 17 [0.469] 48
... Berserk 3.0.0 playing Black: 18 - 9 - 21 [0.594] 48
... White vs Black: 23 - 35 - 38 [0.438] 96
Elo difference: 21.7 +/- 54.4, LOS: 78.5 %, DrawRatio: 39.6 %
Score of Berserk 3.0.0 vs Cheng 4.40: 8 - 63 - 25 [0.214] 96
... Berserk 3.0.0 playing White: 4 - 27 - 17 [0.260] 48
... Berserk 3.0.0 playing Black: 4 - 36 - 8 [0.167] 48
... White vs Black: 40 - 31 - 25 [0.547] 96
Elo difference: -226.5 +/- 67.9, LOS: 0.0 %, DrawRatio: 26.0 %
Berserk 2.0.0
Changes
The largest changes that come from this release are evaluation changes. PSQT's dominated in 1.2.2, but that lead to poor pawn structure and poor king safety. This has been addressed in 2.0.0 with all PSQT's being flattened (more understandable human values) and specific evaluation parameters around pawn structure and king safety. Along with this, piece mobility has been added.
Estimated Elo ~2450
Berserk 1.2.2
Changes
- Attempt to support newer versions of
gcc
better - Berserk supports both popcount and non-popcount versions
make popcount
make
Berserk 1.2.1
Changes
- Fixes issue with LMR dropping into quiesce search
Berserk 1.2.0
Changes
- Pruning
- Null Move
- Futility
- SEE
- Extension
- Check
- Reductions
- LMR
- Move Ordering
- MVV/LVA
- SEE
- Killers
- Counters
Still no evaluation changes at this time
- Still tapered material + psqt