7-men Syzygy attempt

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

noobpwnftw
Posts: 684
Joined: Sun Nov 08, 2015 11:10 pm
Full name: Bojun Guo

Re: 7-men Syzygy attempt

Post by noobpwnftw »

About the "find_val:not found" problem happened at the third reduction, I think this line may need to be changed into

Code: Select all

j = CAPT_CWIN_RED + 1 + i - REDUCE_PLY_RED;
I'm still not quite sure about this.
Dann Corbit
Posts: 12662
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: 7-men Syzygy attempt

Post by Dann Corbit »

noobpwnftw wrote:About the "find_val:not found" problem happened at the third reduction, I think this line may need to be changed into

Code: Select all

j = CAPT_CWIN_RED + 1 + i - REDUCE_PLY_RED;
I'm still not quite sure about this.
Once you get the code fixed, I can do some runs on a high end machine if you like. I just bought a bunch of SSDs including 2x2TB and 5 smaller ones.

I think it would be fun to have my very own 7 man file set. I have a great big NAS cabinet, and I can just add on 12 TB disks as they get built. I guess that storage costs will continue to fall over time so it may not be as expensive as one might think.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
syzygy
Posts: 5647
Joined: Tue Feb 28, 2012 11:56 pm

Re: 7-men Syzygy attempt

Post by syzygy »

noobpwnftw wrote:About the "find_val:not found" problem happened at the third reduction, I think this line may need to be changed into

Code: Select all

j = CAPT_CWIN_RED + 1 + i - REDUCE_PLY_RED;
I'm still not quite sure about this.
An error in this line can certainly cause a "find_val: not found" problem, but stats_val is necessary here to keep j in the correct range independent of the number of reductions.

Perhaps there is no new "i" in this reduction iteration, i.e. the max winning DTZ was reached in the previous iteration. That value has now been shifted out of the window, so won't be found in the table. However, lines 250 and 256 check for that...

So I'm not sure what goes wrong here.
syzygy
Posts: 5647
Joined: Tue Feb 28, 2012 11:56 pm

Re: 7-men Syzygy attempt

Post by syzygy »

The values i and j should correspond to what is done here (assuming num_saves > 0):
https://github.com/syzygy1/tb/blob/2ba7 ... #L156-L159
To reduce confusion I replace j with k in these lines:

Code: Select all

      for (k = 0; k < n; k++) {
        total_stats[1 + stats_val + k] += stats[CAPT_CWIN_RED + k + 2];
        total_stats[1022 - stats_val - k - 1] += stats[LOSS_IN_ONE - k - 1];
      }
Our i is equal to 1 + stats_val + k for the highest k < n for which total_stats[1 + stats_val + k] != 0.

Now we need j = CAPT_CWIN_RED + k + 2 for that same value of k.

So j = CAPT_CWIN_RED + k + 2 = CAPT_CWIN_RED + i - 1 - stats_val + 2 = CAPT_CWIN_RED + i - stats_val + 1 = CAPT_CWIN_RED + 1 + i - stats_val.

So line 242 is correct.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: 7-men Syzygy attempt

Post by Nordlandia »

Just a quick question regarding torrent files.

Do the torrent need to be updated for new sets generated apart from those available for now?

Or simply make another torrent for another generated sets when you feel for it.

Ideally it would been nice if the original torrent can be updated as more sets get generated :)
syzygy
Posts: 5647
Joined: Tue Feb 28, 2012 11:56 pm

Re: 7-men Syzygy attempt

Post by syzygy »

Wait a minute... 512 is probably simply too low?

In the pawn code this is configurable. Probably a good idea to do the same here.
syzygy
Posts: 5647
Joined: Tue Feb 28, 2012 11:56 pm

Re: 7-men Syzygy attempt

Post by syzygy »

Nordlandia wrote:Just a quick question regarding torrent files.

Do the torrent need to be updated for new sets generated apart from those available for now?

Or simply make another torrent for another generated sets when you feel for it.

Ideally it would been nice if the original torrent can be updated as more sets get generated :)
I think it is better to wait with large-scale distribution until there is a file format that is certain to work for all 7-piece tables.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: 7-men Syzygy attempt

Post by Nordlandia »

Concerning DTM bases. Have you checked whether placing them on regular hard disk (HDD) inflict/cause noticeabe performance drop. Similarly like dtz works fine on HDD without noticeable performance penalty.
syzygy
Posts: 5647
Joined: Tue Feb 28, 2012 11:56 pm

Re: 7-men Syzygy attempt

Post by syzygy »

Nordlandia wrote:Concerning DTM bases. Have you checked whether placing them on regular hard disk (HDD) inflict/cause noticeabe performance drop. Similarly like dtz works fine on HDD without noticeable performance penalty.
HDD is fine if they are probed only at the root (although finding the whole winning line can take a while).

Probing DTM during the search really needs them to be on SSD.
User avatar
phhnguyen
Posts: 1498
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: 7-men Syzygy attempt

Post by phhnguyen »

Dann Corbit wrote:
noobpwnftw wrote:About the "find_val:not found" problem happened at the third reduction, I think this line may need to be changed into

Code: Select all

j = CAPT_CWIN_RED + 1 + i - REDUCE_PLY_RED;
I'm still not quite sure about this.
Once you get the code fixed, I can do some runs on a high end machine if you like. I just bought a bunch of SSDs including 2x2TB and 5 smaller ones.

I think it would be fun to have my very own 7 man file set. I have a great big NAS cabinet, and I can just add on 12 TB disks as they get built. I guess that storage costs will continue to fall over time so it may not be as expensive as one might think.
Look like you have been solving storage problem for 7 men!!!

How about RAM? Will you soon have 1 TB? ;)