Skip to content

Alexandria 3.5.0

Compare
Choose a tag to compare
@PGG106 PGG106 released this 12 Feb 09:04
· 474 commits to master since this release

This release was originally planned to be Alexandria 4.0, however i decided to go on a temporary hiatus and while the engine still falls short of the elo mark i had set for Alexandria 4.0 it still has made significant progress compared to 3.1.0.
This release is therefore meant to act as a stopgap between 3.1.0 and 4.0 (if that ever comes out).
Compared to Alexandria 3.1.0, Alexandria 3.5.0 features a greatly improved search and experimental multithreaded search support (tested when newly implemented with up to 16 cores but never again since).
As far as elo progress goes:
Using 4moves-noob.epd

STC

ELO   | 88.53 +- 9.96 (95%)
CONF  | 10.0+0.10s Threads=1 Hash=16MB
GAMES | N: 1728 W: 547 L: 116 D: 1065

LTC

ELO   | 118.93 +- 15.24 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=16MB
GAMES | N: 792 W: 295 L: 34 D: 463

This is also the first version of Alexandria that comes into the usual 3 flavours (modern, avx2, bmi2) everyone knows and love, big thanks to Disservin for the makefile that made this possible.

What's Changed

  • Lazy SMP by @PGG106 in #86
  • Improve and modernize uci support by @PGG106 in #91
  • Reduce checks for time running out to once every 1024 nodes by @PGG106 in #92
  • Improve memory usage, add some comments, fix movetime uci command by @PGG106 in #93
  • Move most of the allocations on the heap by @PGG106 in #95
  • Rework search stack by @PGG106 in #96
  • Rework history heuristic by @PGG106 in #97
  • change nmp to fail soft by @PGG106 in #98
  • Final tweak to search output pretty_print by @PGG106 in #102
  • avoid perft crashing when called with a depth of 1 by @PGG106 in #105
  • Rewrite LMR with a more conventional approach by @PGG106 in #109
  • Make nmp more aggressive by @PGG106 in #110
  • Introduce continuation history by @PGG106 in #111
  • Store static eval in the TT by @PGG106 in #114
  • Simplify TT exact flag in Qsearch by @PGG106 in #115
  • Avoid LMR dropping into Qsearch or extending by @PGG106 in #117
  • Full multi-threaded datagen implementation by @PGG106 in #119
  • fix movepicker by @PGG106 in #127

Full Changelog: v3.1.0...v3.5.0