New 6-piece tablebases

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

IQ
Posts: 154
Joined: Thu Dec 17, 2009 9:46 am

Re: New 6-piece tablebases

Post by IQ » Sat Aug 31, 2013 2:09 pm

Hi,

just compiled the tablebase generator and generated all 5 piece endings - which took about 70 Minutes. Now I briefly looked at integrating the probing code in Stockfish 4, but unfortunaletly the SF Team do no longer expose piece_count and some of the zobrist structures. Is there any plans to revise the probing code for SF4?

thanks in advance!

syzygy
Posts: 4221
Joined: Tue Feb 28, 2012 10:56 pm

Re: New 6-piece tablebases

Post by syzygy » Sat Aug 31, 2013 2:15 pm

IQ wrote:just compiled the tablebase generator and generated all 5 piece endings - which took about 70 Minutes. Now I briefly looked at integrating the probing code in Stockfish 4, but unfortunaletly the SF Team do no longer expose piece_count and some of the zobrist structures. Is there any plans to revise the probing code for SF4?
You can find revised probing code here:
https://github.com/syzygy1/Stockfish

I haven't yet updated to SF4, but I think the piece_count and Zobrist changes were taken care of.

IQ
Posts: 154
Joined: Thu Dec 17, 2009 9:46 am

Re: New 6-piece tablebases

Post by IQ » Sat Aug 31, 2013 3:19 pm

Thanks! Works great! With the generate 5 piece bases it finds 145 bases. There is also a new UCI option: Probe Syzygybases. What does it do?
On a side-note: Is there any way to generate the 6 piece bases on a 12 gigabyte machine (with SSD)? Or a place to download them?


syzygy wrote:
IQ wrote:just compiled the tablebase generator and generated all 5 piece endings - which took about 70 Minutes. Now I briefly looked at integrating the probing code in Stockfish 4, but unfortunaletly the SF Team do no longer expose piece_count and some of the zobrist structures. Is there any plans to revise the probing code for SF4?
You can find revised probing code here:
https://github.com/syzygy1/Stockfish

I haven't yet updated to SF4, but I think the piece_count and Zobrist changes were taken care of.

syzygy
Posts: 4221
Joined: Tue Feb 28, 2012 10:56 pm

Re: New 6-piece tablebases

Post by syzygy » Sat Aug 31, 2013 3:32 pm

IQ wrote:Thanks! Works great! With the generate 5 piece bases it finds 145 bases. There is also a new UCI option: Probe Syzygybases. What does it do?
Set it to 5 to probe 5-piece tables. Set it to 6 to probe 6-piece tables (if they are available). Set it to 0 to not probe at all.
On a side-note: Is there any way to generate the 6 piece bases on a 12 gigabyte machine (with SSD)?
I'm afraid that 16 GB is the minimum. The --disk option still generates everything in RAM (but uses the disk to bring down memory requirements during compression from about 24 GB to about 16 GB).

Generating the 6-piece tables on a 12 GB system while using the SSD as swap will have poor performance and will likely kill your SSD before the generation process has finished.
Or a place to download them?
I don't know of one.

syzygy
Posts: 4221
Joined: Tue Feb 28, 2012 10:56 pm

Re: New 6-piece tablebases

Post by syzygy » Mon Sep 02, 2013 10:24 pm

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).

Thanks,
Kirill
I've updated to the latest sources and created a tag "sf_4_tb".
To get Stockfish 4 with my changes the following should work:

Code: Select all

$ git clone https://github.com/syzygy1/Stockfish.git
$ cd Stockfish
$ git checkout sf_4_tb
or just use this link: https://github.com/syzygy1/Stockfish/ar ... f_4_tb.zip

Note that this is unsupported.

User avatar
jshriver
Posts: 1103
Joined: Wed Mar 08, 2006 8:41 pm
Location: Morgantown, WV, USA
Contact:

Re: New 6-piece tablebases

Post by jshriver » Tue Sep 03, 2013 5:12 pm

I finished generating the full 3-4-5-6 men set in both WDL and DTZ. With an i7-3770 with 32gigs RAM it took 14 days, followed by just under 4 days to do a verify.

Here is a 3-4-5-6 md5sum for the full set.
http://olympuschess.com/egtb/sbases/3-4-5-6.md5

You can download all of the 3-4-5 individually from here:
http://olympuschess.com/egtb/sbases/

To download the complete 3-4-5 as a single file use this:
http://olympuschess.com/egtb/sbases/sbases345.tar.bz2

The associated statistics text files can be found here:
http://olympuschess.com/egtb/sbases/txt/


Going to try and host the complete set which is 151gigs (at least for a short while).

-Josh

Sharaf_DG
Posts: 27
Joined: Fri Aug 02, 2013 9:03 am

Re: New 6-piece tablebases

Post by Sharaf_DG » Tue Sep 03, 2013 5:30 pm

Thanks for the update....Is the current counter accurate when using multiple threads?

IQ
Posts: 154
Joined: Thu Dec 17, 2009 9:46 am

Re: New 6-piece tablebases

Post by IQ » Tue Sep 03, 2013 5:45 pm

Great! A 6 men set to download would be fantastic! With 100mbit+ it would only take 4-6 hours.
Going to try and host the complete set which is 151gigs (at least for a short while).

-Josh
Last edited by IQ on Tue Sep 03, 2013 5:47 pm, edited 2 times in total.

User avatar
kranium
Posts: 1768
Joined: Thu May 29, 2008 8:43 am

Re: New 6-piece tablebases

Post by kranium » Tue Sep 03, 2013 5:45 pm

jshriver wrote:I finished generating the full 3-4-5-6 men set in both WDL and DTZ. With an i7-3770 with 32gigs RAM it took 14 days, followed by just under 4 days to do a verify.

Here is a 3-4-5-6 md5sum for the full set.
http://olympuschess.com/egtb/sbases/3-4-5-6.md5

You can download all of the 3-4-5 individually from here:
http://olympuschess.com/egtb/sbases/

To download the complete 3-4-5 as a single file use this:
http://olympuschess.com/egtb/sbases/sbases345.tar.bz2

The associated statistics text files can be found here:
http://olympuschess.com/egtb/sbases/txt/


Going to try and host the complete set which is 151gigs (at least for a short while).

-Josh
wow thx joshua
i'm surprised it took only 2 weeks...
just goes to show how much more powerful PCs are today, as compared to just a few years ago

Sharaf_DG
Posts: 27
Joined: Fri Aug 02, 2013 9:03 am

Re: New 6-piece tablebases

Post by Sharaf_DG » Tue Sep 03, 2013 6:31 pm

btw mine took 2 days on 48 core Ivy Bridge E2697

Post Reply