Question to syzygy author

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Question to syzygy author

Post by mcostalba »

velmarin wrote:
I have compiled and I have been an exception.
Can you please download latest version and try again? Thanks.
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Question to syzygy author

Post by Sergei S. Markoff »

The worse thing is that code in https://github.com/syzygy1/tb contains some errors. For example in https://github.com/syzygy1/tb/blob/mast ... bprobe.cpp line 722 contains:

Code: Select all

if (dtz > 0)
while dtz is not defined neither in int root_probe(Position& pos, Value &TBScore) nor globally.
Hopefully Stockfish repository contains a correct version of this function.
The Force Be With You!
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Question to syzygy author

Post by velmarin »

mcostalba wrote:
velmarin wrote:
I have compiled and I have been an exception.
Can you please download latest version and try again? Thanks.
Yes. now no breaks, work fine.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Question to syzygy author

Post by syzygy »

Sergei S. Markoff wrote:The worse thing is that code in https://github.com/syzygy1/tb contains some errors. For example in https://github.com/syzygy1/tb/blob/mast ... bprobe.cpp line 722 contains:

Code: Select all

if (dtz > 0)
while dtz is not defined neither in int root_probe(Position& pos, Value &TBScore) nor globally.
Hopefully Stockfish repository contains a correct version of this function.
Weird. Something must have gone wrong in editing at some point. But this code won't compile: no declaration of dtz and wdl is declared twice.

The version in SF has

Code: Select all

 int dtz = probe_dtz(pos, &success);
at the start of the function.
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Question to syzygy author

Post by Sergei S. Markoff »

Yes, exactly.
Now I'm going through diff between Syzygy and Stockfish Syzygy versions trying to find if there are other significant differences that could affect engine play strength instead of making code just non-compilable...
The Force Be With You!
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Question to syzygy author

Post by syzygy »

Sergei S. Markoff wrote:Yes, exactly.
Now I'm going through diff between Syzygy and Stockfish Syzygy versions trying to find if there are other significant differences that could affect engine play strength instead of making code just non-compilable...
I don't think there is anything else, except that a condition "wdl == 2" has to be replaced with "dtz > 0". This has been fixed now (see lines 687, 698).

I have also added a few lines of comments in probe_dtz_no_ep to be more specific about what moves have to be generated when (see lines 476, 504, 520).

edit: a few more changes to the comments, so the above line numbering is no longer correct.
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Question to syzygy author

Post by Sergei S. Markoff »

Thank you, Ronald!

It's helped me to catch a bug in SmarThink adaptation of probing code. Let see if it will play better.
BTW, have you seen any testsets for testing TBs?..
The Force Be With You!
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Question to syzygy author

Post by velmarin »

Sergei S. Markoff wrote:Thank you, Ronald!

It's helped me to catch a bug in SmarThink adaptation of probing code. Let see if it will play better.
BTW, have you seen any testsets for testing TBs?..
Only five tables.
http://www.mediafire.com/download/ofte1 ... on9/tb.epd
Sergei S. Markoff
Posts: 227
Joined: Mon Sep 12, 2011 11:27 pm
Location: Moscow, Russia

Re: Question to syzygy author

Post by Sergei S. Markoff »

Thank you, Jose!

But is looks some of tests are wrong.
For example #12:

1k6/2r5/1KB5/8/8/7R/8/8 w - - 0 1

The position is draw and Be4 is not the only move...
The same for #15:

1k6/8/1K6/1N6/1r6/8/8/2R5 w - - 0 1

Kc6 is not the only move...
The Force Be With You!
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Question to syzygy author

Post by mcostalba »

syzygy wrote:
That's looking very good!

If you like, feel free to add a copyright notice to the top of the file and replace the "without restrictions" license with the GPL. (The point of "without restrictions" is that you already have permission for that.)
Thanks! Done.

Just one quick question: number of blocks in a table is real_num_blocks, but actually you use num_blocks that is the former plus the content of a uint8_t data in the file. Can you please explain the difference?