New 6-piece tablebases

Discussion of chess software programming and technical issues.

Moderators: hgm, chrisw, Rebel

syzygy
Posts: 5661
Joined: Tue Feb 28, 2012 11:56 pm

Re: New 6-piece tablebases

Post by syzygy »

Kirill Kryukov wrote:You mention Stockfish integration on your page, is the complete source or Windows binary of this engine available?
Jean-Francois Romang compiled a binary and has the source on github (see earlier in this thread), but I don't think this is the latest version.

I recently created a github repository with the complete Stockfish source and integrated probing code:
https://github.com/syzygy1/Stockfish

It requires the setting of environment variables RTBWDIR and RTBZDIR with the paths to .rtbw and .rtbz files. I suppose it would be nicer if uci options were used instead.

The present version uses the WDL tables during the search. Once the game has reached a tablebase position, it uses the DTZ tables to select "good moves" (that preserve the win under the 50-move rule or preserve the draw or might convert a loss into a 50-move draw with suboptimal play from the opponent) and lets the engine do a search on those without acccessing the tables. The resulting game play is much nicer than when playing "DTZ-optimal". It also has a better chance of converting a draw into a win.

I do not exclude that some bugs are left, so if anyone tests this and has problems, just let me know.

The present version is not very suitable for simply probing the tables from the GUI to see if a position is a win or loss. Once you give the engine a tablebase position, it will do a search on the "good moves" and report a score found by searching. To solve this I could make an option to switch between DTZ-optimal play and the present approach, but it is not a very nice solution.
Also, are you aware of any other engines that are able to use your tablebases? If yes, do you think it may be a good idea to list such engines on your TB homepage?
That is a good idea, but so far I'm not aware of any.
jpqy
Posts: 553
Joined: Thu Apr 24, 2008 9:31 am
Location: Belgium

Re: New 6-piece tablebases

Post by jpqy »

From Roland:
I have just released my tablebase generator for up to 6 pieces on github:
https://github.com/syzygy1/tb

Has somebody a windows compile from this tablebase generator?!

Would be great if someone could make a compile!

Thanks in advance..

Kind regards,
Jean-Paul.
jpqy
Posts: 553
Joined: Thu Apr 24, 2008 9:31 am
Location: Belgium

Re: New 6-piece tablebases

Post by jpqy »

Nobody?

I know it takes only a few minutes to make a compile..i can do it with the Stockfish source ,but to make a generator compile fails for me?!

I would appriciate it if Roland or someone else could make me one!

And i think more people would be happy to generate there own 6-pieces tablebases!!

Best regards,
JP.
jpqy
Posts: 553
Joined: Thu Apr 24, 2008 9:31 am
Location: Belgium

Re: New 6-piece tablebases

Post by jpqy »

I have been running games using the 5-pieces syzygy with a Stockfish compile..

And i find that Stockfish play very active with very high positive score ,shows even winning but fails in the end and draw or even loose the game?

We know we have to put SF.exe into the folder where the RTB's are located to be loaded.

Now ,i have 290 files..but when i run SF in console it shows 145 tablebases loaded!?

So why not the other half?

I say okay..i make two folders and seperate .rtbz & .rtbw files!
copy SF.exe into these two folders and run them in console..

What i see now..
.rtbw -> SF -> 145 Tablebases Loaded
.rtbz -> SF -> 0 Tablebases loaded?

So,is this normal? ,or should and i think it is needed to load all files to let these Tablebases work correctly!
It's maybe because that only the .rtbw's get loaded that i see weird playing from Stockfish ,and a little fix would help to let also these .rtbz getting loaded into Stockfish!

Can Ronald or someone else check this out please!

Kind regards,
Jean-Paul.
Sharaf_DG
Posts: 30
Joined: Fri Aug 02, 2013 11:03 am

Re: New 6-piece tablebases

Post by Sharaf_DG »

Dear Ronald

It seems that the dtz files are not detected....total files 1020 for the 6 piece...510 found.

Is it intended not to detect dtz files?
Sharaf_DG
Posts: 30
Joined: Fri Aug 02, 2013 11:03 am

Re: New 6-piece tablebases

Post by Sharaf_DG »

I find it strange that Ronald don't answer to questions on his subject/ post whilst he continues to partake on 3rd party topics.

I personally believe if Syzgy as described by Ronald walks flawlessly it will be a better EGTB.

I have been testing the 6 piece and WDL works beautifully, but without DTZ, engine is in a maze especially in far reaching wins like mate in 100.
User avatar
Kirill Kryukov
Posts: 494
Joined: Sun Mar 19, 2006 4:12 am
Full name: Kirill Kryukov

Re: New 6-piece tablebases

Post by Kirill Kryukov »

syzygy wrote:
Kirill Kryukov wrote:You mention Stockfish integration on your page, is the complete source or Windows binary of this engine available?
Jean-Francois Romang compiled a binary and has the source on github (see earlier in this thread), but I don't think this is the latest version.

I recently created a github repository with the complete Stockfish source and integrated probing code:
https://github.com/syzygy1/Stockfish

It requires the setting of environment variables RTBWDIR and RTBZDIR with the paths to .rtbw and .rtbz files. I suppose it would be nicer if uci options were used instead.

The present version uses the WDL tables during the search. Once the game has reached a tablebase position, it uses the DTZ tables to select "good moves" (that preserve the win under the 50-move rule or preserve the draw or might convert a loss into a 50-move draw with suboptimal play from the opponent) and lets the engine do a search on those without acccessing the tables. The resulting game play is much nicer than when playing "DTZ-optimal". It also has a better chance of converting a draw into a win.

I do not exclude that some bugs are left, so if anyone tests this and has problems, just let me know.

The present version is not very suitable for simply probing the tables from the GUI to see if a position is a win or loss. Once you give the engine a tablebase position, it will do a search on the "good moves" and report a score found by searching. To solve this I could make an option to switch between DTZ-optimal play and the present approach, but it is not a very nice solution.
Hi Ronald,

Can you integrate your TB code with Stockfish 4? I am thinking to run some tests to compare it with regular Stockfish 4, because I suspect the Elo gain may be larger than that from Nalimov's or other tablebases (which is hardly measurable).

Thanks,
Kirill
syzygy
Posts: 5661
Joined: Tue Feb 28, 2012 11:56 pm

Re: New 6-piece tablebases

Post by syzygy »

Kirill Kryukov wrote:
syzygy wrote:
Kirill Kryukov wrote:You mention Stockfish integration on your page, is the complete source or Windows binary of this engine available?
Jean-Francois Romang compiled a binary and has the source on github (see earlier in this thread), but I don't think this is the latest version.

I recently created a github repository with the complete Stockfish source and integrated probing code:
https://github.com/syzygy1/Stockfish

It requires the setting of environment variables RTBWDIR and RTBZDIR with the paths to .rtbw and .rtbz files. I suppose it would be nicer if uci options were used instead.

The present version uses the WDL tables during the search. Once the game has reached a tablebase position, it uses the DTZ tables to select "good moves" (that preserve the win under the 50-move rule or preserve the draw or might convert a loss into a 50-move draw with suboptimal play from the opponent) and lets the engine do a search on those without acccessing the tables. The resulting game play is much nicer than when playing "DTZ-optimal". It also has a better chance of converting a draw into a win.

I do not exclude that some bugs are left, so if anyone tests this and has problems, just let me know.

The present version is not very suitable for simply probing the tables from the GUI to see if a position is a win or loss. Once you give the engine a tablebase position, it will do a search on the "good moves" and report a score found by searching. To solve this I could make an option to switch between DTZ-optimal play and the present approach, but it is not a very nice solution.
Hi Ronald,

Can you integrate your TB code with Stockfish 4? I am thinking to run some tests to compare it with regular Stockfish 4, because I suspect the Elo gain may be larger than that from Nalimov's or other tablebases (which is hardly measurable).
Hi Kirill. I can do that, but it might be a few days before I find the time.
User avatar
Kirill Kryukov
Posts: 494
Joined: Sun Mar 19, 2006 4:12 am
Full name: Kirill Kryukov

Re: New 6-piece tablebases

Post by Kirill Kryukov »

syzygy wrote:
Kirill Kryukov wrote:Hi Ronald,

Can you integrate your TB code with Stockfish 4? I am thinking to run some tests to compare it with regular Stockfish 4, because I suspect the Elo gain may be larger than that from Nalimov's or other tablebases (which is hardly measurable).
Hi Kirill. I can do that, but it might be a few days before I find the time.
Thank you for reply, and no hurry! I'll look forward to it!

(Perhaps demonstrating a tangible Elo gain from syzygybases may speed up their adoption in other engines?)
Sharaf_DG
Posts: 30
Joined: Fri Aug 02, 2013 11:03 am

Re: New 6-piece tablebases

Post by Sharaf_DG »

Looking forward to a bug free, DTZ working version