Zahak, a GoLang based chess engine

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Zahak 9.0

Post by amanjpro »

Hey,

I am happy to announce Zahak 9.0. Appart from Strength improvements (expecting +100 at least), there are many other goodies that come with this release like: More UCI go commands support (go mate, go searchmoves, go nodes), and MultiPV! Just in time for using Zahak for analyzing WCC games!

Even more exciting is the different skill levels (1-7), 1 being the weakest while 7 being the strongest, I ran a tournament between the different skill levels (upto skill level 6, as 7 is the full strength) and Rustic Alpha 1, 2, and 3:

Code: Select all

Rank Name                                   Elo    +    - games score oppo. draws 
   1 Zahak_Skill_6                         2074   13   12  2325   83%  1829   31% 
   2 Zahak_Skill_5                         2004   12   11  2328   75%  1829   34% 
   3 rustic-alpha-3.0.0-linux-64-bit-bmi2  1870   10   10  4656   62%  1712   18% 
   4 Zahak_Skill_4                         1856   11   12  2329   53%  1829   20% 
   5 rustic-alpha-2_64-bit-bmi2            1849   10   10  4659   60%  1712   17% 
   6 rustic-alpha-1_64-bit-bmi2            1768   10   10  4662   52%  1712   15% 
   7 Zahak_Skill_3                         1630   13   13  2331   26%  1829    8% 
   8 Zahak_Skill_2                         1440   17   18  2331   11%  1829    4% 
   9 Zahak_Skill_1                         1270   25   27  2333    5%  1829    1% 
Zahak 9 against Zahak 8 (which I translate it into at least +100 elo, given that self-play results are usually not very accurate):

Code: Select all

ELO   | 157.43 +- 4.63 (95%)
CONF  | 40.0+0.40s Threads=1 Hash=64MB
GAMES | N: 12232 W: 6005 L: 813 D: 5414
I would like to thank Scally for training the different networks for different skill levels, and wish him all the best.

As usual, if you like to know more about this release then please head to the blog post: https://zahak.amanj.me/posts/meet-zahak-9/

And you can download the binaries here: https://github.com/amanjpro/zahak/releases/tag/9.0
Frank Quisinsky
Posts: 6811
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Zahak, a GoLang based chess engine

Post by Frank Quisinsky »

Hi Amanj,

yes, you create a strong TOP-40 engine.

Late mid-game is the strength of your program, the endgame is stronger as engines with the same level produced.
But have a look in the fast lost games.

To many ...

Fact is, the style is new for me.
Such a strong late mid-game your engine produced!!

Good luck for your development.
I am watching and have fun with your work!

THANKs!!

Best
Frank


Room for improvements ... the fast lost games!

Code: Select all

Short games statistic:
After round 06 out of 50 = 240 games per engine

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  221 of 04.920 = 4,491% : Miniatures, mate below 60 moves
  151 of 04.920 = 3,069% : Fast draws below 40 moves

                                      won49 lost49 draw29        won49w won49b lost49w lost49b
01. Stockfish 151121 NN x64              21      0      6            16      5       0       0
02. Dragon 2.5.1 by Komodo NN AVX x64    19      0      5            12      7       0       0
03. Revenge 1.0 NN x64                   18      0      8            11      7       0       0
04. Fire 8 NN MC.3 x64                   15      0      6            13      2       0       0
05. RubiChess 2.2 NN x64                 13      1     10             8      5       0       1
06. SlowChess Blitz 2.8 NN AVX2 x64      11      1      6             7      4       1       0
07. Arasan 23.0.1 NN AVX2 x64             8      1      7             8      0       1       0
08. Igel 3.0.10 NN BMI2 x64               8      1     18             5      3       0       1
09. Koivisto 7.5 NN AVX2 x64              8      2      4             4      4       1       1
10. Ethereal 13.25 NN PEXT x64            7      1      7             7      0       0       1
11. rofChade 2.310 NN x64                 7      4      9             3      4       0       4
12. Fritz 18 (Ginkgo) x64                 7      7      2             4      3       2       5
13. Schooner 2.2 XB SSE x64               6      1      6             3      3       0       1
14. Xiphos 0.6 BMI2 x64                   6      2      8             6      0       0       2
15. Booot 6.5 POPCNT x64                  6      2      9             3      3       0       2
16. Laser 1.7 BMI2 x64                    5      0      8             3      2       0       0
17. Berserk 7 NN PEXT x64                 5      1      7             3      2       0       1
18. Weiss 2.0 PEXT x64                    5      6     11             4      1       1       5
18. Minic 3.17 NN x64                     5      6     11             4      1       2       4
20. Fizbo 2.0 BMI2 x64                    4      5      6             2      2       1       4
21. Lc0 0.28.0 NN CPU-dnnl                4     11      4             3      1       3       8
22. Dark Toga 1.1 NN AVX2 x64             3      2      1             2      1       0       2
23. Seer 2.4.0 NN AVX2 x64                3      2      7             1      2       0       2
24. Andscacs 0.95.123 x64                 3      2      8             0      3       0       2
25. Nirvanachess 2.5 POPCNT x64           3      9      1             2      1       3       6
26. Shredder 13 POPCNT x64                3      9      9             3      0       1       8
27. Defenchess 2.3 dev BMI2 x64           2      2      9             1      1       1       1
28. Clover 2.4 x64                        2      2     13             1      1       0       2
29. Wasp 5.00 NN AVX2 x64                 2      4     11             1      1       1       3
30. DanaSah 9.0 NN AVX2 x64               2      6     10             2      0       1       5
31. Marvin 5.2.0 NN AVX2 x64              2      7      5             2      0       6       1
32. Winter 0.9 BMI2 x64                   2     14      6             2      0       6       8
33. Zahak 8.6 AMD x64                     2     14     11             2      0       7       7
34. Nemorino 6.09 NN x64                  1      2      7             1      0       1       1
35. Combusken 1.4.0 AMD x64               1      9      1             1      0       2       7
36. GullChess 3.0 Sy BMI2 x64             1     17      7             1      0       6      11
37. Orion 0.8 NN FMA x64                  1     20     11             1      0       4      16
38. Chiron 5 x64                          0      9      7             0      0       3       6
39. Halogen 10 NN PEXT x64                0     11     11             0      0       5       6
40. Demolito 2021-07-09 x64               0     14      2             0      0       6       8
41. Stash 31.16 x64                       0     14      7             0      0       4      10

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   66 of 04.920 = 1,341% : Miniatures, mate below 50 moves
   49 of 04.920 = 0,995% : Fast draws below 30 moves

                                      won59 lost59 draw39        won59w won59b lost59w lost59b
01. Revenge 1.0 NN x64                    7      0      1             4      3       0       0
02. Dragon 2.5.1 by Komodo NN AVX x64     5      0      0             1      4       0       0
03. Berserk 7 NN PEXT x64                 4      0      4             2      2       0       0
04. Koivisto 7.5 NN AVX2 x64              4      2      1             3      1       1       1
05. Stockfish 151121 NN x64               3      0      2             2      1       0       0
06. Schooner 2.2 XB SSE x64               3      0      3             1      2       0       0
06. SlowChess Blitz 2.8 NN AVX2 x64       3      0      3             2      1       0       0
06. Xiphos 0.6 BMI2 x64                   3      0      3             3      0       0       0
09. Arasan 23.0.1 NN AVX2 x64             3      0      5             3      0       0       0
10. Booot 6.5 POPCNT x64                  2      0      1             0      2       0       0
11. Laser 1.7 BMI2 x64                    2      0      2             1      1       0       0
12. RubiChess 2.2 NN x64                  2      0      3             1      1       0       0
13. Igel 3.0.10 NN BMI2 x64               2      0      5             0      2       0       0
14. Nirvanachess 2.5 POPCNT x64           2      1      0             2      0       1       0
15. Fritz 18 (Ginkgo) x64                 2      1      1             2      0       0       1
16. Andscacs 0.95.123 x64                 2      1      3             0      2       0       1
17. Winter 0.9 BMI2 x64                   2      2      1             2      0       1       1
18. Nemorino 6.09 NN x64                  1      0      1             1      0       0       0
18. Fizbo 2.0 BMI2 x64                    1      0      1             1      0       0       0
20. Seer 2.4.0 NN AVX2 x64                1      0      2             0      1       0       0
21. Wasp 5.00 NN AVX2 x64                 1      0      4             0      1       0       0
21. Fire 8 NN MC.3 x64                    1      0      4             1      0       0       0
21. Ethereal 13.25 NN PEXT x64            1      0      4             1      0       0       0
21. Minic 3.17 NN x64                     1      0      4             1      0       0       0
25. Shredder 13 POPCNT x64                1      1      2             1      0       0       1
25. Clover 2.4 x64                        1      1      2             1      0       0       1
27. Defenchess 2.3 dev BMI2 x64           1      1      3             1      0       1       0
28. Weiss 2.0 PEXT x64                    1      2      5             1      0       1       1
29. Combusken 1.4.0 AMD x64               1      4      0             1      0       0       4
30. GullChess 3.0 Sy BMI2 x64             1      5      1             1      0       1       4
31. Orion 0.8 NN FMA x64                  1      5      4             1      0       1       4
32. Zahak 8.6 AMD x64                     1      9      0             1      0       4       5
33. Dark Toga 1.1 NN AVX2 x64             0      1      1             0      0       0       1
34. Marvin 5.2.0 NN AVX2 x64              0      2      2             0      0       1       1
35. rofChade 2.310 NN x64                 0      2      3             0      0       0       2
36. DanaSah 9.0 NN AVX2 x64               0      2      4             0      0       1       1
37. Chiron 5 x64                          0      3      2             0      0       3       0
38. Halogen 10 NN PEXT x64                0      3      4             0      0       1       2
39. Stash 31.16 x64                       0      5      2             0      0       3       2
40. Lc0 0.28.0 NN CPU-dnnl                0      5      3             0      0       0       5
41. Demolito 2021-07-09 x64               0      8      2             0      0       3       5
matejst
Posts: 365
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: Zahak, a GoLang based chess engine

Post by matejst »

Thanks, Amanj! The two options -- multiPV and levels -- are especially great news!

But just a few questions. I see the option EvalFile in the settings. Should I specify a net there? Do I need Scally's nets for the levels, or are they included in the binary? (Forget this one -- I will test Zahak in a game to see by myself.)
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Zahak 9.0

Post by mvanthoor »

amanjpro wrote: Thu Nov 25, 2021 7:49 am Even more exciting is the different skill levels (1-7), 1 being the weakest while 7 being the strongest, I ran a tournament between the different skill levels (upto skill level 6, as 7 is the full strength) and Rustic Alpha 1, 2, and 3:
Cool :) If you want a stronger version for testing the skill level feature, I can provide you with a preliminary version of Rustic 4. (CCRL Blitz estimation will be around 2160.) I hope to release version 4 somewhere in December 2021 or January 2021. (Strength improvement over Alpha 3 is expected to be +300 Elo.)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Zahak, a GoLang based chess engine

Post by amanjpro »

matejst wrote: Thu Nov 25, 2021 10:06 am Thanks, Amanj! The two options -- multiPV and levels -- are especially great news!

But just a few questions. I see the option EvalFile in the settings. Should I specify a net there? Do I need Scally's nets for the levels, or are they included in the binary? (Forget this one -- I will test Zahak in a game to see by myself.)
The binary comes loaded with everything it needs. The EvalFile is for experiments only, in case you wanted to try different networks. For example you can get the network of Zahak 8 and test it on 9 and see how much gain of strength comes from search and not Network
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Zahak 9.0

Post by amanjpro »

mvanthoor wrote: Thu Nov 25, 2021 12:16 pm
amanjpro wrote: Thu Nov 25, 2021 7:49 am Even more exciting is the different skill levels (1-7), 1 being the weakest while 7 being the strongest, I ran a tournament between the different skill levels (upto skill level 6, as 7 is the full strength) and Rustic Alpha 1, 2, and 3:
Cool :) If you want a stronger version for testing the skill level feature, I can provide you with a preliminary version of Rustic 4. (CCRL Blitz estimation will be around 2160.) I hope to release version 4 somewhere in December 2021 or January 2021. (Strength improvement over Alpha 3 is expected to be +300 Elo.)
Congrats, and thanks for the offer. To be honest I don't care much about knowing the exact rating of the skill levels. They change with every patch I merge. That is why I didn't go for UCI elo, as this is very hard to maintain. Also CCRL Elo doesn't reflect human Elo by any means
Carlos777
Posts: 1757
Joined: Sun Dec 13, 2009 6:09 pm

Re: Zahak 9.0

Post by Carlos777 »

amanjpro wrote: Thu Nov 25, 2021 7:49 am I am happy to announce Zahak 9.0. Appart from Strength improvements (expecting +100 at least), there are many other goodies that come with this release like: More UCI go commands support (go mate, go searchmoves, go nodes), and MultiPV! Just in time for using Zahak for analyzing WCC games!
Congratulations for this new version Amanj! Nice new features and big improvement.
User avatar
Rebel
Posts: 7025
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Zahak, a GoLang based chess engine

Post by Rebel »

Zahak 9.0 for the GRL.

Games : 2000

Elo pool : 3189

http://rebel13.nl/a/grl.htm
90% of coding is debugging, the other 10% is writing bugs.
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Zahak, a GoLang based chess engine

Post by amanjpro »

Rebel wrote: Thu Nov 25, 2021 4:46 pm Zahak 9.0 for the GRL.

Games : 2000

Elo pool : 3189

http://rebel13.nl/a/grl.htm
Thanks a lot :)
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Zahak, a GoLang based chess engine

Post by amanjpro »

Frank Quisinsky wrote: Thu Nov 25, 2021 8:25 am Hi Amanj,

yes, you create a strong TOP-40 engine.

Late mid-game is the strength of your program, the endgame is stronger as engines with the same level produced.
But have a look in the fast lost games.

To many ...

Fact is, the style is new for me.
Such a strong late mid-game your engine produced!!

Good luck for your development.
I am watching and have fun with your work!

THANKs!!

Best
Frank


Room for improvements ... the fast lost games!

Code: Select all

Short games statistic:
After round 06 out of 50 = 240 games per engine

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  221 of 04.920 = 4,491% : Miniatures, mate below 60 moves
  151 of 04.920 = 3,069% : Fast draws below 40 moves

                                      won49 lost49 draw29        won49w won49b lost49w lost49b
01. Stockfish 151121 NN x64              21      0      6            16      5       0       0
02. Dragon 2.5.1 by Komodo NN AVX x64    19      0      5            12      7       0       0
03. Revenge 1.0 NN x64                   18      0      8            11      7       0       0
04. Fire 8 NN MC.3 x64                   15      0      6            13      2       0       0
05. RubiChess 2.2 NN x64                 13      1     10             8      5       0       1
06. SlowChess Blitz 2.8 NN AVX2 x64      11      1      6             7      4       1       0
07. Arasan 23.0.1 NN AVX2 x64             8      1      7             8      0       1       0
08. Igel 3.0.10 NN BMI2 x64               8      1     18             5      3       0       1
09. Koivisto 7.5 NN AVX2 x64              8      2      4             4      4       1       1
10. Ethereal 13.25 NN PEXT x64            7      1      7             7      0       0       1
11. rofChade 2.310 NN x64                 7      4      9             3      4       0       4
12. Fritz 18 (Ginkgo) x64                 7      7      2             4      3       2       5
13. Schooner 2.2 XB SSE x64               6      1      6             3      3       0       1
14. Xiphos 0.6 BMI2 x64                   6      2      8             6      0       0       2
15. Booot 6.5 POPCNT x64                  6      2      9             3      3       0       2
16. Laser 1.7 BMI2 x64                    5      0      8             3      2       0       0
17. Berserk 7 NN PEXT x64                 5      1      7             3      2       0       1
18. Weiss 2.0 PEXT x64                    5      6     11             4      1       1       5
18. Minic 3.17 NN x64                     5      6     11             4      1       2       4
20. Fizbo 2.0 BMI2 x64                    4      5      6             2      2       1       4
21. Lc0 0.28.0 NN CPU-dnnl                4     11      4             3      1       3       8
22. Dark Toga 1.1 NN AVX2 x64             3      2      1             2      1       0       2
23. Seer 2.4.0 NN AVX2 x64                3      2      7             1      2       0       2
24. Andscacs 0.95.123 x64                 3      2      8             0      3       0       2
25. Nirvanachess 2.5 POPCNT x64           3      9      1             2      1       3       6
26. Shredder 13 POPCNT x64                3      9      9             3      0       1       8
27. Defenchess 2.3 dev BMI2 x64           2      2      9             1      1       1       1
28. Clover 2.4 x64                        2      2     13             1      1       0       2
29. Wasp 5.00 NN AVX2 x64                 2      4     11             1      1       1       3
30. DanaSah 9.0 NN AVX2 x64               2      6     10             2      0       1       5
31. Marvin 5.2.0 NN AVX2 x64              2      7      5             2      0       6       1
32. Winter 0.9 BMI2 x64                   2     14      6             2      0       6       8
33. Zahak 8.6 AMD x64                     2     14     11             2      0       7       7
34. Nemorino 6.09 NN x64                  1      2      7             1      0       1       1
35. Combusken 1.4.0 AMD x64               1      9      1             1      0       2       7
36. GullChess 3.0 Sy BMI2 x64             1     17      7             1      0       6      11
37. Orion 0.8 NN FMA x64                  1     20     11             1      0       4      16
38. Chiron 5 x64                          0      9      7             0      0       3       6
39. Halogen 10 NN PEXT x64                0     11     11             0      0       5       6
40. Demolito 2021-07-09 x64               0     14      2             0      0       6       8
41. Stash 31.16 x64                       0     14      7             0      0       4      10

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   66 of 04.920 = 1,341% : Miniatures, mate below 50 moves
   49 of 04.920 = 0,995% : Fast draws below 30 moves

                                      won59 lost59 draw39        won59w won59b lost59w lost59b
01. Revenge 1.0 NN x64                    7      0      1             4      3       0       0
02. Dragon 2.5.1 by Komodo NN AVX x64     5      0      0             1      4       0       0
03. Berserk 7 NN PEXT x64                 4      0      4             2      2       0       0
04. Koivisto 7.5 NN AVX2 x64              4      2      1             3      1       1       1
05. Stockfish 151121 NN x64               3      0      2             2      1       0       0
06. Schooner 2.2 XB SSE x64               3      0      3             1      2       0       0
06. SlowChess Blitz 2.8 NN AVX2 x64       3      0      3             2      1       0       0
06. Xiphos 0.6 BMI2 x64                   3      0      3             3      0       0       0
09. Arasan 23.0.1 NN AVX2 x64             3      0      5             3      0       0       0
10. Booot 6.5 POPCNT x64                  2      0      1             0      2       0       0
11. Laser 1.7 BMI2 x64                    2      0      2             1      1       0       0
12. RubiChess 2.2 NN x64                  2      0      3             1      1       0       0
13. Igel 3.0.10 NN BMI2 x64               2      0      5             0      2       0       0
14. Nirvanachess 2.5 POPCNT x64           2      1      0             2      0       1       0
15. Fritz 18 (Ginkgo) x64                 2      1      1             2      0       0       1
16. Andscacs 0.95.123 x64                 2      1      3             0      2       0       1
17. Winter 0.9 BMI2 x64                   2      2      1             2      0       1       1
18. Nemorino 6.09 NN x64                  1      0      1             1      0       0       0
18. Fizbo 2.0 BMI2 x64                    1      0      1             1      0       0       0
20. Seer 2.4.0 NN AVX2 x64                1      0      2             0      1       0       0
21. Wasp 5.00 NN AVX2 x64                 1      0      4             0      1       0       0
21. Fire 8 NN MC.3 x64                    1      0      4             1      0       0       0
21. Ethereal 13.25 NN PEXT x64            1      0      4             1      0       0       0
21. Minic 3.17 NN x64                     1      0      4             1      0       0       0
25. Shredder 13 POPCNT x64                1      1      2             1      0       0       1
25. Clover 2.4 x64                        1      1      2             1      0       0       1
27. Defenchess 2.3 dev BMI2 x64           1      1      3             1      0       1       0
28. Weiss 2.0 PEXT x64                    1      2      5             1      0       1       1
29. Combusken 1.4.0 AMD x64               1      4      0             1      0       0       4
30. GullChess 3.0 Sy BMI2 x64             1      5      1             1      0       1       4
31. Orion 0.8 NN FMA x64                  1      5      4             1      0       1       4
32. Zahak 8.6 AMD x64                     1      9      0             1      0       4       5
33. Dark Toga 1.1 NN AVX2 x64             0      1      1             0      0       0       1
34. Marvin 5.2.0 NN AVX2 x64              0      2      2             0      0       1       1
35. rofChade 2.310 NN x64                 0      2      3             0      0       0       2
36. DanaSah 9.0 NN AVX2 x64               0      2      4             0      0       1       1
37. Chiron 5 x64                          0      3      2             0      0       3       0
38. Halogen 10 NN PEXT x64                0      3      4             0      0       1       2
39. Stash 31.16 x64                       0      5      2             0      0       3       2
40. Lc0 0.28.0 NN CPU-dnnl                0      5      3             0      0       0       5
41. Demolito 2021-07-09 x64               0      8      2             0      0       3       5
Oh, just noticed the stats! Thanks a lot :) and yeah Zahak's understandings of pawns is still weak, and king safety being another issue. Those can make fast losses possible :(