7-men Syzygy attempt

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
jdart
Posts: 3842
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: 7-men Syzygy attempt

Post by jdart » Sun Apr 07, 2019 4:33 pm

I am having some trouble with this code in https://github.com/syzygy1/Cfish/blob/m ... /tbprobe.c, around line 1744:

Code: Select all

    if (   v == 1
        && pos_checkers()
        && generate_legal(pos, (pos->st-1)->endMoves) == (pos->st-1)->endMoves)
      best = 1;
It is not really clear to me what this is doing.

--Jon

niklasf
Posts: 41
Joined: Sat May 16, 2015 9:41 pm

Re: 7-men Syzygy attempt

Post by niklasf » Sun Apr 07, 2019 6:15 pm


jdart
Posts: 3842
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: 7-men Syzygy attempt

Post by jdart » Sun Apr 07, 2019 9:59 pm

Got it, thanks.

--Jon

jdart
Posts: 3842
Joined: Fri Mar 10, 2006 4:23 am
Location: http://www.arasanchess.org

Re: 7-men Syzygy attempt

Post by jdart » Wed Apr 10, 2019 6:56 pm

I have gotten the Frankenstein merge of Cfish into Fathom to compile and am starting to do some testing.

One thing I notice is that Cfish (and I presume Stockfish) have an interface that generates a rank and score for all moves for root probes.

I am not quite clear what the purpose of this is. It looks like to me that if searching Cfish just searches the highest-rank move(s).

Fathom doesn't exactly do this: it returns WDL and DTZ values for each move.

--Jon

noobpwnftw
Posts: 362
Joined: Sun Nov 08, 2015 10:10 pm

Re: 7-men Syzygy attempt

Post by noobpwnftw » Thu Apr 11, 2019 6:39 pm

I am not quite clear what the purpose of this is.
I believe that is used to filter known worse moves at root given WDL information.

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

Re: 7-men Syzygy attempt

Post by syzygy » Thu Apr 11, 2019 9:05 pm

noobpwnftw wrote:
Thu Apr 11, 2019 6:39 pm
I am not quite clear what the purpose of this is.
I believe that is used to filter known worse moves at root given WDL information.
Cfish and Stockfish rank moves if only WDL is available but also if WDL+DTZ is available. The WDL+DTZ ranking is obviously more accurate.

The reason for ranking is that SF does not want to simply play the move that minimizes DTZ (because that can lead to very strange play).

Before ranking was implemented, SF would filter out root moves that according to WDL/WDL+DTZ are "worse" than the best root move (in the sense of risking to lose half a point or more). The problem with this is that it breaks both multipv=N > 1 (if fewer than N moves remain after filtering) and searchmoves (if none of the optimal moves are among the specified moves).

Ranking scores each move on the basis of WDL/WDL+DTZ information and then sorts the moves according to their score/rank. SF's search uses this information as follows: If multipv=N and there are K>=N top-ranked moves, then the search will be limited to those K moves. If K<N, the search will first produce K lines from those K moves, then do a multipv=N-K search on the remaining moves.

konsolas
Posts: 182
Joined: Sun Jun 12, 2016 3:44 pm
Location: London
Full name: Vincent
Contact:

Re: 7-men Syzygy attempt

Post by konsolas » Fri Apr 12, 2019 11:03 am

Is there a specification for the file format used by Syzygy which could be used to independently write probing code?

brianr
Posts: 358
Joined: Thu Mar 09, 2006 2:01 pm

Re: 7-men Syzygy attempt

Post by brianr » Fri Apr 12, 2019 1:20 pm

konsolas wrote:
Fri Apr 12, 2019 11:03 am
Is there a specification for the file format used by Syzygy which could be used to independently write probing code?
Yup. Right here:
https://github.com/syzygy1/tb

konsolas
Posts: 182
Joined: Sun Jun 12, 2016 3:44 pm
Location: London
Full name: Vincent
Contact:

Re: 7-men Syzygy attempt

Post by konsolas » Fri Apr 12, 2019 6:40 pm

brianr wrote:
Fri Apr 12, 2019 1:20 pm
konsolas wrote:
Fri Apr 12, 2019 11:03 am
Is there a specification for the file format used by Syzygy which could be used to independently write probing code?
Yup. Right here:
https://github.com/syzygy1/tb
I appreciate the effort, but there is no specification for the file format there, especially not for 7-man tablebases as the probing code given on that page does not support them.

Post Reply