Skip to content

Willow 3.1

Compare
Choose a tag to compare
@Adam-Kulju Adam-Kulju released this 24 Sep 19:35
· 213 commits to main since this release
413ba2c

The strongest mailbox engine in the world just got even stronger.
Estimated Elo: 3300 CCRL 40/15, 3400 CCRL Blitz

Score of Willow 3.1 vs 3.0 (balanced book, LTC):

ELO   | 218.61 +- 12.49 (95%)
CONF  | 60.0+0.60s Threads=1 Hash=128MB
GAMES | N: 2000 W: 1176 L: 61 D: 763
https://chess.swehosting.se/test/3999/

New Features:

NNUE: Willow's new net is now a 512x2 perspective net, trained on 530m positions (all self-play still). I also did a bunch of testing with datagen in order to get more optimal data than what I currently have. The result is a significantly more accurate evaluation of positions, with only a slight loss of style/aggressiveness.

Search: Willow had a lot of existing heuristics tweaked, and some new ones added. Most notably:
-Removing delta pruning - this gained a whopping 60 elo. I'm not sure what it is about Willow that hates qsearch pruning so much, but it is what it is.
-History gravity
-Countermoves history
-Prefetching the TT and only using the specific entry
-history in LMR
-parameters changed for LMR, SEE pruning, futility pruning, NMP, and more.

SMP:
Willow now supports multithreading! It is still a bit of a work in progress since I was rushing for a release, so please notify me if a crash occurs while running Willow on multiple threads so that I can fix whatever the problem is. One thing is for sure, though; adding more threads definitely increases Willow's strength.

List of things to do in future:
-SPSA
-experiment with net bucketing
-FRC?
-staged movegen and take a good long hard look at speed improvements in general
-clean up the code so that others can learn better from it

Includes both a Windows and a Linux executable. If you want to build from source instead, git clone this repo, cd into it, and run "make" - the Makefile will output an executable that you can then use.

Enjoy!