Skip to content

Releases: sovaz1997/Zevra2

Zevra v2.6 (NNUE)

24 Feb 17:56
913294d

Choose a tag to compare

After a long break I release new version of Zevra with NNUE!
The net has size (768->256)x2->1 and fully trained from Zero, without using evals from HCE.
First net has 768->8 size and trained on self-play games with random weights net.
Last net (11th gen) trained on 1 billion self-play positions of previous net.

Changes

  • NNUE eval (weights integrated to binary)
  • UCI options for changing NNUE eval to HCE and Temperature for randomizing moves
  • Small search improvements to make NNUE working correctly
  • Remove hash probing in qsearch
  • Remove Hash buckets, because didn't show improvements

Regression test (on Mac M2 Pro):

tc=60+0.6, hash=256
Score of Zevra Self v11 vs Zevra Classic: 2363 - 1004 - 523  [0.675] 3890
...      Zevra Self v11 playing White: 1113 - 608 - 224  [0.630] 1945
...      Zevra Self v11 playing Black: 1250 - 396 - 299  [0.720] 1945
...      White vs Black: 1509 - 1858 - 523  [0.455] 3890
Elo difference: 126.7 +/- 10.7, LOS: 100.0 %, DrawRatio: 13.4 %

Minimum requirements

  • CPU: AVX-2 support. Intel Haswell or newer. Also Apple silicon architecture supported with using NEON instructions.

Zevra v2.5

20 Sep 16:19

Choose a tag to compare

Hey! Today I am releasing a new version of Zevra - v2.5!
This version has a big improvement in game level - about 80 elo points.

This version includes the following changes:

  • Fix big in the calculation of the piece weights in the params tuner (tuning uses a specific calculation of the eval for speed-up);
  • Add tapered eval for mobility;
  • Restarting the tuner from scratch for a qualitative improvement in the eval. It seems to me that the ideal iterations count in Texel's tuning is about 50-80 iterations for ~900 params and 1 000 000 positions. If more or less, it will be a Elo loss;
  • The hash is now 2-bucket. This gave a slight improvement in game level, but Zevra now solve positions faster.

Test results:

tc=10+0.1
Games: 3000/3000 W: 1337 L: 658 D: 1005
ELO: 80.02 +- 10.25 (95%) LOS: 100.00%
tc=60+0.6
Games: 1000/1000 W: 430 L: 211 D: 359
ELO: 77.34 +- 17.41 (95%) LOS: 100.00%

Zevra 2.4 r380

09 Sep 15:59

Choose a tag to compare

Today I am releasing the new version of Zevra!

Position evaluation has been improved in this version. By optimizing the tuner, I was able to achieve a much faster optimization of the parameters. In this version, PST-tables were added for the endgame and the eval parameters were trained on a new sample of self-play positions (positions were created by self-play Zevra v2.3 with some restrictions).

tc=10+0.1 hash=16 threads=1
LLR: 2.95 (-2.94, 2.94) [0.50, 3.50]
Games: 1356 W: 690 L: 417 D: 249
ELO: 70.92 +- 16.97 (95%) LOS: 100.00%
tc=60+0.6 hash=64 threads=1
LLR: 2.95 (-2.94, 2.94) [0.50, 3.50]
Games: 1423 W: 681 L: 420 D: 322
ELO: 64.45 +- 16.06 (95%) LOS: 100.00%

Zevra v2.3 r348

05 Sep 14:39

Choose a tag to compare

New release Zevra v2.3!
This is a big release since I was successfully able to improve the evaluation function using the Texel method.

To do this, I used ~10,000 self-play games, from which I took all positions where there are more than 7 pieces and in which the static eval differs from the qsearch by no more than 50 centipawns (it's about 1 million positions). Optimization was carried out for almost all parameters of the evaluation function. The total increase was about 80 Elo points, or even more!

tc=10+0.1 Hash=16 Threads=1
Games: 1049 W: 518 L: 273 D: 258
ELO: 82.67 +- 18.59 (95%) LOS: 100.00%
tc=60+0.6 Hash=16 Threads=1
Games: 897 W: 423 L: 201 D: 273
ELO: 87.81 +- 19.29 (95%) LOS: 100.00%

Zevra v2.2.1 r328

30 Aug 20:53

Choose a tag to compare

I decided to release a small update to Zevra, fixing and improving a few things:

  • Fixed bugs founded with cppcheck;
  • Slight speed-up of the move generator due to pre-calculated values;
  • Improved rooks eval (increased bonuses and added definition of semi-open files).

Zevra v2.2.1 r328 vs Zevra v2.2 r317:

tc=10+0.1 Threads=1 Hash=256
Games: 10000/10000 W: 3141 L: 2769 D: 4090
ELO: 12.93 +- 5.23 (95%) LOS: 100.00%
tc=60+0.6 Threads=1 Hash=256
Games: 3000/3000 W: 827 L: 706 D: 1467
ELO: 14.02 +- 8.88 (95%) LOS: 99.90%

Zevra v2.2.1 r328 vs Zevra v2.2 r317 (testing not ended):

tc=10+0.1 Threads=1 Hash=256
Games: 12928/20000 W: 4777 L: 3008 D: 5143
ELO: 47.84 +- 4.66 (95%) LOS: 100.00%
tc=60+0.6 Threads=1 Hash=256
Games: 1369/5000 W: 485 L: 272 D: 612
ELO: 54.50 +- 13.70 (95%) LOS: 100.00%

Zevra v2.2 r317

28 Aug 20:50

Choose a tag to compare

Hey! Today, 2 years later, I am releasing a new version of Zevra!

I again return to the development of my engine. At the moment, I am also developing my platform for distributed engine testing in parallel, which will be available later. This platform allowed me to automate the testing process.

Changes

  • Improvements in king safety;
  • Fix queen mobility eval;
  • Incremental eval for simple part: material and PSQ-tables;
  • Minor speed-up changes;
  • Fix with threads (gratidute to Rasmus Althoff, CT800 author.

Testing (Zevra v2.2 vs Zevra v2.1.2)

STC

tc=10+0.6 Threads=1 Hash=256
Games: 6000/6000 W: 2038 L: 1499 D: 2463
ELO: 31.30 +- 6.75 (95%) LOS: 100.00%

LTC

tc=60+0.6 Threads=1 Hash=256
Games: 3000/3000 W: 921 L: 634 D: 1445
ELO: 33.34 +- 8.94 (95%) LOS: 100.00%

The zip archive contains source code and builds for Windows and Linux.

Zevra v2.1.2 r248

26 Sep 18:05

Choose a tag to compare

This is the Zevra v2.1.2 from March 8, 2019.

Changes
Some fixes with TT and thread using.

CCRL rating list results