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
- optz: don't store moves by @znxftw in #30
- optz: default to 32 move list size for less resizing by @znxftw in #31
- feat: avoid threefold if eval > 0 by @znxftw in #32
- add step for coverage reports by @znxftw in #39
- Move perft to program by @Sanjanarajbk in #41
- build(deps): bump xunit.runner.visualstudio from 2.8.2 to 3.0.0 by @dependabot in #42
- add history heuristic by @znxftw in #43
- feat: add transposition tables by @znxftw in #44
- fix: cleanup after RandomTest by @znxftw in #45
Thanks to @rwbc for helping point out improvements
Windows build compiled by @rwbc
Full Changelog: v1.3...v1.4