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

Re: Zahak, a GoLang based chess engine

Post by amanjpro »

lithander wrote: Mon Sep 06, 2021 11:24 am Seems like your way beyond your stated goal of 2700 ELO now! It's hard to stop, isn't it?

Congrats on another big leap forward! =)
Hahaha it is hard... Now I'll be busy with something useful for the next release though, I know nothing about NN in general, so adding this to the engine will teach me something instead of just tuning variables and hoping for the best hhh
User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: Zahak, a GoLang based chess engine

Post by lithander »

I liked how PSTs and a tuner allowed my engine to learn where to place pieces by just looking at a few hundred thousands of games. No human intervention required. I like solutions that don't require me to teach the engine how to play chess because I just don't know that either. So NNUE is very interesting indeed!

Maybe there's also some middleground between stupid PSTs and full blown NNUE? Like a logical next step after PST-only evaluation.
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
User avatar
j.t.
Posts: 239
Joined: Wed Jun 16, 2021 2:08 am
Location: Berlin
Full name: Jost Triller

Re: Zahak, a GoLang based chess engine

Post by j.t. »

lithander wrote: Mon Sep 06, 2021 2:14 pm Maybe there's also some middleground between stupid PSTs and full blown NNUE? Like a logical next step after PST-only evaluation.
Maybe bigger PSTs that capture additional relations, like a king position dependent PST, or relative piece position to passed pawn position tables. Though they will probably get huge (and thus slower to optimize). Or "just" a neural network without the NNUE update part.
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Zahak NNUE (7.0)

Post by amanjpro »

Meet the latest and greatest Zahak, version 7.0 with NNUE:

https://github.com/amanjpro/zahak/releases/tag/7.0

More details are here in this article: https://zahak.amanj.me/posts/meet-zahak-7/

TL; DR; the trainer is written from scratch, the data is from self-play, and you can train different nets with provided tools if you like ;)

Elo estimation: +190 over Zahak 6.2
User avatar
Rebel
Posts: 6995
Joined: Thu Aug 18, 2011 12:04 pm

Re: Zahak NNUE (7.0)

Post by Rebel »

amanjpro wrote: Sun Oct 03, 2021 4:24 pm Meet the latest and greatest Zahak, version 7.0 with NNUE:

https://github.com/amanjpro/zahak/releases/tag/7.0

More details are here in this article: https://zahak.amanj.me/posts/meet-zahak-7/

TL; DR; the trainer is written from scratch, the data is from self-play, and you can train different nets with provided tools if you like ;)

Elo estimation: +190 over Zahak 6.2

Code: Select all

id name Zahak 7.0
id author Amanj
id EvalFile 2288800614
option name Ponder type check default false
option name Hash type spin default 128 min 1 max 24000
option name Book type check default false
option name Threads type spin default 1 min 1 max 40
option name EvalFile type string
option name BookFile type string
uciok
I am not sure, is NNUE included in the executable?

Program size is about the same as previous versions.

No "EvalFile" seen for download.
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 NNUE (7.0)

Post by amanjpro »

Rebel wrote: Sun Oct 03, 2021 7:11 pm
amanjpro wrote: Sun Oct 03, 2021 4:24 pm Meet the latest and greatest Zahak, version 7.0 with NNUE:

https://github.com/amanjpro/zahak/releases/tag/7.0

More details are here in this article: https://zahak.amanj.me/posts/meet-zahak-7/

TL; DR; the trainer is written from scratch, the data is from self-play, and you can train different nets with provided tools if you like ;)

Elo estimation: +190 over Zahak 6.2

Code: Select all

id name Zahak 7.0
id author Amanj
id EvalFile 2288800614
option name Ponder type check default false
option name Hash type spin default 128 min 1 max 24000
option name Book type check default false
option name Threads type spin default 1 min 1 max 40
option name EvalFile type string
option name BookFile type string
uciok
I am not sure, is NNUE included in the executable?

Program size is about the same as previous versions.

No "EvalFile" seen for download.
The default net is included, yes. Most of the program size is the go-lib anyways, so adding 300KB doesn't make much difference (especially I removed KPK bitbases too)

If you look, the third line already says which network-id is included (id EvalFile 2288800614)
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: Zahak NNUE (7.0)

Post by CMCanavessi »

amanjpro wrote: Sun Oct 03, 2021 4:24 pm Meet the latest and greatest Zahak, version 7.0 with NNUE:

https://github.com/amanjpro/zahak/releases/tag/7.0

More details are here in this article: https://zahak.amanj.me/posts/meet-zahak-7/

TL; DR; the trainer is written from scratch, the data is from self-play, and you can train different nets with provided tools if you like ;)

Elo estimation: +190 over Zahak 6.2
Awesome release! Should be already around 3000 right?
Now we need FRC :mrgreen:
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Zahak NNUE (7.0)

Post by amanjpro »

CMCanavessi wrote: Sun Oct 03, 2021 7:44 pm
amanjpro wrote: Sun Oct 03, 2021 4:24 pm Meet the latest and greatest Zahak, version 7.0 with NNUE:

https://github.com/amanjpro/zahak/releases/tag/7.0

More details are here in this article: https://zahak.amanj.me/posts/meet-zahak-7/

TL; DR; the trainer is written from scratch, the data is from self-play, and you can train different nets with provided tools if you like ;)

Elo estimation: +190 over Zahak 6.2
Awesome release! Should be already around 3000 right?
Now we need FRC :mrgreen:
My tests show something around 2960 or a bit higher, probably all the way to 3000 is possible. I used a few engines to guess the elo, and didn't get a conclusive answer.

As for FRC, I am not really familiar with it, so if I do it, I want to do it correctly, in a way that the engine plays well... so my first step is to educate myself :D
But it won't be before I add more essentials, like EGTB support for example
User avatar
Rebel
Posts: 6995
Joined: Thu Aug 18, 2011 12:04 pm

Re: Zahak, a GoLang based chess engine

Post by Rebel »

After some pre-testing I decided to put version 7 into a 2911 pool.

I think Zahak will come out victorious.

Amazing progress....

Games : 1000

http://rebel13.nl/a/grl.htm

Enjoy.
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: Sun Oct 03, 2021 8:41 pm After some pre-testing I decided to put version 7 into a 2911 pool.

I think Zahak will come out victorious.

Amazing progress....

Games : 1000

http://rebel13.nl/a/grl.htm

Enjoy.

Thanks a lot Ed, was already following the pre-test, you never disappoint ;)