Skip to content

Releases: SnowballSH/Avalanche

v2.1.0

13 Jan 04:09
Compare
Choose a tag to compare

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

24 Sep 19:59
Compare
Choose a tag to compare

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

22 Jul 13:21
Compare
Choose a tag to compare

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

21 Mar 04:14
Compare
Choose a tag to compare

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

18 Dec 04:09
Compare
Choose a tag to compare

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

06 Nov 01:32
82c7ed3
Compare
Choose a tag to compare

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

01 Sep 23:09
Compare
Choose a tag to compare

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

28 Jul 21:07
Compare
Choose a tag to compare

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

12 Jun 01:36
3c5782c
Compare
Choose a tag to compare

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

27 Apr 12:14
Compare
Choose a tag to compare

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