Syzygy implementations of top engines

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

jhellis3
Posts: 546
Joined: Sat Aug 17, 2013 12:36 am

Re: Syzygy implementations of top engines

Post by jhellis3 »

I would be curious how matefinder does in this regard. It does a few things differently, which *in theory* should help...

Can get MF9 here: https://github.com/jhellis3/Stockfish/releases/tag/MF_9
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Syzygy implementations of top engines

Post by Laskos »

jhellis3 wrote:I would be curious how matefinder does in this regard. It does a few things differently, which *in theory* should help...

Can get MF9 here: https://github.com/jhellis3/Stockfish/releases/tag/MF_9
Doesn't seem to improve over SF9. MF9 has an average 65.20 compared to SF9 of 63.71. I also tested Houdini 6.03 Tactical, and it also doesn't improve, 59.95 compared to 59.43. Consider that the standard deviation of the average seems to be at about 0.8 here. Maybe 0.3 in Texel's case, as many of its solutions seem indeed "ideal".
jhellis3
Posts: 546
Joined: Sat Aug 17, 2013 12:36 am

Re: Syzygy implementations of top engines

Post by jhellis3 »

Interesting, I would have guessed it would perform slightly better, but it looks like the general slowdown outweighs the benefits (if any even exist at all).
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Syzygy implementations of top engines

Post by syzygy »

Laskos wrote:
jhellis3 wrote:I would be curious how matefinder does in this regard. It does a few things differently, which *in theory* should help...

Can get MF9 here: https://github.com/jhellis3/Stockfish/releases/tag/MF_9
Doesn't seem to improve over SF9. MF9 has an average 65.20 compared to SF9 of 63.71. I also tested Houdini 6.03 Tactical, and it also doesn't improve, 59.95 compared to 59.43. Consider that the standard deviation of the average seems to be at about 0.8 here. Maybe 0.3 in Texel's case, as many of its solutions seem indeed "ideal".
Just to be sure: are all engines being tested against Texel?
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Syzygy implementations of top engines

Post by syzygy »

mjlef wrote:I cannot reproduce this on my laptop. And the score Komodo shows for a syzygy mate value is about 318.00 and not the 280.01 values shown. I assume you had Syzygy set right and all the files are present. Smart Syzygy off, right? We will investigate.
Make sure that Komodo plays a move with minimum DTZ if the board position is a TB win and there has been a repetition by either side since the last zeroing move.

It is not sufficient to just avoid repetitions on the next move. You need something like this:
https://github.com/syzygy1/tb/blob/2ba7 ... #L611-L628
https://github.com/syzygy1/tb/blob/2ba7 ... #L710-L714
If there has been a repetition, the "maximum allowed DTZ" is set to the minimum ("best") DTZ out of all root moves. This ensures that a move is played that lowers DTZ. It will continue to do so until the next pawn move or capture, which means that DTZ will be strictly decreasing and another repetition is avoided.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Syzygy implementations of top engines

Post by Laskos »

syzygy wrote:
Laskos wrote:
jhellis3 wrote:I would be curious how matefinder does in this regard. It does a few things differently, which *in theory* should help...

Can get MF9 here: https://github.com/jhellis3/Stockfish/releases/tag/MF_9
Doesn't seem to improve over SF9. MF9 has an average 65.20 compared to SF9 of 63.71. I also tested Houdini 6.03 Tactical, and it also doesn't improve, 59.95 compared to 59.43. Consider that the standard deviation of the average seems to be at about 0.8 here. Maybe 0.3 in Texel's case, as many of its solutions seem indeed "ideal".
Just to be sure: are all engines being tested against Texel?
Yes, all engines are tested against Texel 1.07 + Syzygy-5 + Gaviota-5.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Syzygy implementations of top engines

Post by Nordlandia »

I am a bit confused, doesn't your DTM tables renders DTM50 obsolete or superfluous with much better compression. The only major difference i can think of is that DTM50 is a complete set whereas DTM is only probed once wdl find certain TB win.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Syzygy implementations of top engines

Post by syzygy »

Nordlandia wrote:I am a bit confused, doesn't your DTM tables renders DTM50 obsolete or superfluous with much better compression. The only major difference i can think of is that DTM50 is a complete set whereas DTM is only probed once wdl find certain TB win.
DTM50 takes into account the 50-move rule.

DTM does not. So DTM could indicate mate in 60 moves when the position is really a mate in 62 moves or a draw if you take into account the 50-move rule.
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: Syzygy implementations of top engines

Post by Nordlandia »

syzygy wrote:
Nordlandia wrote:I am a bit confused, doesn't your DTM tables renders DTM50 obsolete or superfluous with much better compression. The only major difference i can think of is that DTM50 is a complete set whereas DTM is only probed once wdl find certain TB win.
DTM50 takes into account the 50-move rule.

DTM does not. So DTM could indicate mate in 60 moves when the position is really a mate in 62 moves or a draw if you take into account the 50-move rule.
Then I have misunderstood. So whether 50-move rule box is checked or not has no effect on cursed wins/blessed losses.

The way i interpreted your explanation some time ago was as follows:

Once wdl found tb win, dtm get activated. DTM is only displayed if the tb win is an non-cursed win. This case with 50-move rule activated. With 50-move rule deactivated the opposite happends, all types of mate in X is announced.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Syzygy implementations of top engines

Post by syzygy »

Nordlandia wrote:Then I have misunderstood. So whether 50-move rule box is checked or not has no effect on cursed wins/blessed losses.
It affects whether the WDL probing code scores a cursed win as a draw or a win.
Once wdl found tb win, dtm get activated. DTM is only displayed if the tb win is an non-cursed win. This case with 50-move rule activated. With 50-move rule deactivated the opposite happends, all types of mate in X is announced.
If WDL says cursed win and the 50-move rule is on, the engine will indeed not probe DTM but treat the position as a draw.

But if WDL says non-cursed win and DTM says mate in 55, the number 55 might be wrong. It might in reality be 58, for example. And the correct number may be dependent on the current value of the 50-move counter. DTM50 would get all of that right.