Releases: SnowballSH/Avalanche
v2.1.0
Update for TCEC
STC 8.0+0.08 | noob_4moves
Score of New vs v2.0.0: 608 - 303 - 1089 [0.576] 2000
Elo difference: 53.4 +/- 10.2, LOS: 100.0 %, DrawRatio: 54.4 %
LTC 40.0+0.40 | noob_4moves
Score of New vs v2.0.0: 249 - 68 - 683 [0.591] 1000
Elo difference: 63.6 +/- 11.9, LOS: 100.0 %, DrawRatio: 68.3 %
SMP 30.0+0.30 | 8moves_v3
Score of New_4T_256 vs v2.0.0_4T_256: 80 - 7 - 113 [0.682] 200
Elo difference: 132.9 +/- 30.6, LOS: 100.0 %, DrawRatio: 56.5 %
Ordo: +134.2
v2.0.0
Version 2.0.0 Update
The list of things changed along with test results can be found here
Improvements:
- More efficient TT storage, using atomic ordering. Significant when Thread > 1.
- New perspective-aware NNUE architecture. Current net is xuebeng, trained on 600 million net008b (which is trained on 200 million v1.5.0 data) data. (+~100 elo)
- Numerous search improvements (+~25 elo)
- Eval scalings (+~10 elo)
- Bug fixes (+~15 elo)
Overall, v2.0.0 is around 140-180 elo stronger than 1.5.0 during self-play. Combining with tests against Defenchess 2.2 shows Avalanche 2.0.0 is around 3320-3370 in CCRL Blitz and 4CPU 40/15, and about 3240-3290 in 1CPU 40/15.
Since this version, I am including binaries from v1 to v4. "v3" is about equivalent for "haswell" in previous releases. If you have a newer CPU, please try "v4," and if it crashes then use "v3". "v3" is likely to work on most modern (post-2013) CPUs.
Again, thanks for the continued support for Avalanche!
v1.5.0
Version 1.5.0 Update
A new version of Avalanche is here. The major feature of this release is the introduction of parallel search implementing the Lazy SMP algorithm. Avalanche now supports the Threads
option, defaulting to 1.
Currently, using 4 threads makes Avalanche roughly 80 ELO stronger than the single-threaded version when testing against itself.
Other improvements include a stronger neural net trained over more lichess data, as well as some search tunings.
Avalanche 1.5.0 wins roughly twice as much as it loses against v1.4.0. It is expected to be around 70 ELO stronger than Avalanche 1.4.0, with an estimated 1CPU CCRL ELO of around 3218. This number will probably end up somewhere between [3175, 3225]. 4CPU is estimated to be around [3260, 3310].
STC Unbalanced Human Openings:
Score of v1.5.0 vs v1.4.0: 175 - 93 - 132 [0.603] 400
... v1.5.0 playing White: 113 - 24 - 63 [0.723] 200
... v1.5.0 playing Black: 62 - 69 - 69 [0.482] 200
... White vs Black: 182 - 86 - 132 [0.620] 400
Elo difference: 72.2 +/- 28.2, LOS: 100.0 %, DrawRatio: 33.0 %
Attached are the binaries. Thanks for the continued support!
v1.4.0
Version 1.4.0 Update
This version is primarily for competing in CCRL's 100th amateur series.
Things changed:
- NN optimizations
- Search improvements
- Time management
After testing against Expositor 2N29 and Frozenight 5.1.0, the strength of v1.4.0 is about 3131 on CCRL scale. This is about 50 elo stronger than v1.3.1. This can probably be anywhere in the range [3110, 3170].
Users with ancient CPUs should download the regular binaries. Otherwise, try using the binaries labelled "haswell," as they give better performances.
Note: "go depth xx" and "go movetime xx" are currently broken. I will fix it in the next release.
Please ignore the 1.4.0.1 - Github is acting crazy. It should be 1.4.0 but I can't change it. Please rename it yourself after downloading :)
Thanks for all the support! Multi-threading search will be added next.
v1.3.1
Version 1.3.1 Update
This update is mainly bug-fixes and tunings from v1.3.0. This removes the negative elo gain compared to 1.2.0.
From my testing, v1.3.1 is ~36 elo stronger than v1.2.0. Estimate about 3082 elo on CCRL scale.
30s for 40 moves:
Result:
-----------------------------------------------------------------------------
# name games wins draws losses score elo + -
1. Avalanche 1.3.1 200 60 105 35 112.5 18 19 19
2. Avalanche 1.2.0 200 35 105 60 87.5 -18 19 19
Tech:
-----------------------------------------------------------------------------
# name nodes/m NPS depth/m time/m moves time
1. Avalanche 1.3.1 809K 1007512 17.6 0.8 63.1 50.7
2. Avalanche 1.2.0 711K 896177 15.6 0.8 63.2 50.1
This version is strongly recommended.
Edit: there is a known bug of occasionally running out of time when using both movestogo and increment. This will be fixed in the next release.
v1.3.0
Version 1.3.0 update
This update contains minor improvements:
- Stronger Neural Network trained on 2GB of data
- Countermove Heuristics
- Higher bounds for History Heuristics
- Improved Aspiration Window
LTC (2min + 1sec inc) testing:
Result:
-----------------------------------------------------------------------------
# name games wins draws losses score elo + -
1. Avalanche 1.3.0 28 9 17 2 17.5 33 49 47
2. Avalanche 1.2.0 28 2 17 9 10.5 -33 47 49
Tech
# name nodes/m NPS depth/m time/m moves time
1. Avalanche 1.3.0 3864K 1178952 19.8 3.3 55.1 180.7
2. Avalanche 1.2.0 3436K 1049836 19.4 3.3 55.4 181.2
all --- 3563K 1114310 19.6 3.3 55.2 180.9
v1.3.0 should be about 66 ELO higher than v1.2.0. I am expecting a new rating of around [3090, 3130].
Next step would be v2.0.0, where I will finish implementing countermove and history heuristics, time management, and multi-thread searching for 4CPU testing. Then, I will move on to my next hobby project in the wonderful world of computer science.
Thank you all for your support!
v1.2.0
Version 1.2.0 update
There are several changes applied to this version:
- Movegen bug fix: detect promotion when capturing a knight checker to last rank with a pawn.
- Search refactor: Search rewrite.
- Tuned parameters: search gauges and cutoffs are tuned with my tuner written in Julia.
- Stronger NNUE: stronger depth-8 8-bucket network. Current arch is 768 x 512 x 8.
- UCI ping fix (#17 , Thanks, @Tearth !)
v1.2.0 is about 110 207 elo stronger than v1.1.0. It is expected to have a CCRL rating of around [2910, 2960] elo. Update Oct 1 CCRL rating: 3048
Personal test results:
LTC vs Frozenight 4.0.0: ~12 elo weaker than Frozenight 4.0.0 (2959 elo)
# name games wins draws losses score elo + -
1. Frozenight 4.0.0 50 13 26 11 26 6 37 37
2. Avalanche 1.2.0 50 11 26 13 24 -6 37 37
STC vs Avalanche 1.1.0: ~124 elo stronger than v1.1.0 (2841 elo)
# name games wins draws losses score elo + -
1. Avalanche 1.2.0 60 30 24 6 42 62 37 35
2. Avalanche 1.1.0 60 6 24 30 18 -62 35 37
Choice of binary
Avalanche currently does not support 32-bit systems.
First, find your OS name (linux, macos, windows). Then, if your CPU is 2013 or newer (Intel Core i3 or newer, or any CPU supporting POPCNT), you should select the Haswell one (This should be the case for most users reading this sentence). If you have a 2013 or older CPU, choose the one without haswell. Haswell binary performs a lot faster than the general one. If you are unsure, use the haswell first and if it crashes, use the general one.
Thank you for your support! I hope to reach top 100 in 2022.
UPDATE This version of Avalanche has reached 3084 elo in CCRL 40/15 time control, ranked world #84!
v1.1.0
Version 1.1.0 Update
This version includes an optimization of NNUE (using Zig comptime features), addition of Singular Extension, Multicut, and more aggressive pruning factors.
v1.1.0 is ~112 ELO stronger than v1.0.0, in both STC and LTC. It is expected to be within [2810, 2880] CCRL ELO.
Here are the Test Results: (NOTE: "DEV" below all refer to v1.1.0)
Avalanche v1.1.0 vs A few other engines. Time Control is G/12s+0.12s.
# name games wins draws losses score elo + -
1. (2947) Frozenight latest 50 30 16 4 38.0 190 71 65
2. (????) Avalanche DEV 200 72 68 60 106.0 17 32 32
3. (2847) Frozenight 3.0.1 50 9 27 14 22.5 -12 59 60
4. (2749) odonata v0.6.13 50 9 15 26 16.5 -97 64 68
5. (2709) K2 v.0.992dev 50 12 10 28 17.0 -98 67 71
Number in parenthesis is their official CCRL ELO. This shows that Avalanche is slightly stronger than Frozenight (which showed Avalanche is now about 2847 + 17 = 2864 ELO) and a lot worse than Frozennight latest(4.0.0+, NNUE), whose author claims to be 2947 ELO.
Avalanche 1.1.0 also performs a lot better against Odonata and K2, which v1.0.0 used to struggle with.
In LTC (G/60s+1s), v1.1.0 is ~112 elo stronger than v1.0.0:
# name games wins draws losses score elo + -
1. Avalanche DEV 50 23 24 3 35 56 40 38
2. Avalanche 1.0.0 50 3 24 23 15 -56 38 40
Technical Stats:
# name nodes/m NPS depth/m time/m moves time
1. Avalanche DEV 2384K 1388045 18.2 1.7 69.6 119.5
2. Avalanche 1.0.0 2379K 1369098 16.0 1.7 69.8 121.4
Binaries
This time, thanks to Github Action script written by @Deecellar, Binaries for all systems and different CPUs are now compiled on each commit. I attached the official v1.1.0 binaries below.
Choice of binary
Avalanche currently does not support 32-bit systems.
First, find your OS name (linux, macos, windows). Then, if your CPU is 2013 or newer (Intel Core i3 or newer, or any CPU supporting POPCNT), you should select the Haswell one (This should be the case for most users reading this sentence). If you have a 2013 or older CPU, choose the one without haswell. Haswell binary performs a lot faster than the general one. If you are unsure, use the haswell first and if it crashes, use the general one.
Thank you for your support!
v1.0.0
VERSION 1.0.0 rewrite
This is a complete rewrite of Avalanche. v1.0.0 has a much faster movegen inspired by Surge and a different search pruning system. It also uses a private instance of OpenBench to test new features/tuning.
v1.0.0 is 69-183 ELO stronger than v0.2.2. It is also significantly stronger than other engines who were at equal strength to v0.2.2.
My estimate for the ELO of v1.0.0 is [2710, 2800].
As always, binaries are here
Results
+126 against Avalanche 0.2.2 (2624 + 126 = 2750)
# name games wins draws losses score elo + -
1. Avalanche 1.0.0 100 51 37 12 69.5 63 29 28
2. Avalanche 0.2.2 100 12 37 51 30.5 -63 28 29
+134 against Blunder 7.6.0 (2638 + 134 = 2772)
# name games wins draws losses score elo + -
1. Avalanche 1.0.0 100 55 29 16 69.5 67 30 29
2. Blunder 7.6.0 100 16 29 55 30.5 -67 29 30
+130 against Zevra v2.5 (2652 + 130 = 2782)
# name games wins draws losses score elo + -
1. Avalanche 1.0.0 100 57 22 21 68 65 31 30
2. Zevra v2.5 100 21 22 57 32 -65 30 31
v0.2.2
This release improves TT and LMR, as well as adding Aspiration windows.
It seems to be 70-150 ELO stronger than 0.2.1 based on 100 STC games.
Binaries: https://github.com/SnowballSH/Avalanche/tree/9f2a6305d9b2b0d17390c61f1b5b4679336358fb/binaries