Skip to content

Rudim v1.4 - Draw Checks & Transposition Tables

Latest
Compare
Choose a tag to compare
@znxftw znxftw released this 18 Dec 07:30
· 25 commits to main since this release
ec7bec8

Tournament Results @ 5+0, 1000 games (v1.4 vs v1.3) - Appx. 10 - 30 ELO gain

--------------------------------------------------
Elo: 11.82 +/- 15.79, nElo: 16.14 +/- 21.53
LOS: 92.91 %, DrawRatio: 36.80 %, PairsRatio: 1.16
Games: 1000, Wins: 301, Losses: 267, Draws: 432, Points: 517.0 (51.70 %)
Ptnml(0-2): [32, 114, 184, 128, 42], WL/DD Ratio: 0.94
--------------------------------------------------

Major Changes

  • Threefold Check to avoid drawing in winning positions
  • Fifty Move Rule Check to avoid drawing in winning positions
  • History heuristic added for alpha-update nodes
  • Transposition Table added (Current Fixed Size : 65536)

Minor Changes & Non-Solution Changes

  • Perft moved to program instead of test, allowing the binary to Perft
  • Minor optimizations to calculations, object allocation, array sizes etc.
  • Coverage Check added to pipeline, tests added for multiple scenarios to bring up coverage to ~85%
  • Pipeline runs 5+0.1 for 200 games tournament instead now. Better approximation of rating change with more games
  • Cleanup methods are now combined into Global.Reset() for easier resetting of state

What's Changed

Thanks to @rwbc for helping point out improvements
Windows build compiled by @rwbc

Full Changelog: v1.3...v1.4