Question about syzygy bases

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

Moderators: hgm, Rebel, chrisw

Vinvin
Posts: 5228
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: Question about syzygy bases

Post by Vinvin »

SzG wrote:To begin with, I have all 6 and less piece syzygy bases installed.

Watching Komodo in a 6-man ending I can see a relatively small tb hit rate and Komodo is calculating. That used to be different with Nalimov bases (with other engines) where the move is made instantly when the engine is in a tablebase position.
I know that the principle of syzygy is different but still, is that behaviour normal?
I've seen this behavior too and I don't like it. If an engine hit the DTZ file, it's sure to win by using only 0.1 sec by move.
May be that could be a parameter for Syzygy's : "syzygyDTZfastplay".
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Question about syzygy bases

Post by Laskos »

SzG wrote:To begin with, I have all 6 and less piece syzygy bases installed.

Watching Komodo in a 6-man ending I can see a relatively small tb hit rate and Komodo is calculating. That used to be different with Nalimov bases (with other engines) where the move is made instantly when the engine is in a tablebase position.
I know that the principle of syzygy is different but still, is that behaviour normal?
Saw that in Houdini 4 too, basically it's trolling in a determined position to try to fool an adversary which doesn't have the 6 men. Game outcome changes only if the other engine falls into trap, so this trolling is theoretically an Elo booster.
ZirconiumX
Posts: 1334
Joined: Sun Jul 17, 2011 11:14 am

Re: Question about syzygy bases

Post by ZirconiumX »

SzG wrote:To begin with, I have all 6 and less piece syzygy bases installed.

Watching Komodo in a 6-man ending I can see a relatively small tb hit rate and Komodo is calculating. That used to be different with Nalimov bases (with other engines) where the move is made instantly when the engine is in a tablebase position.
I know that the principle of syzygy is different but still, is that behaviour normal?
There are two sets of Syzygy bases. Syzygy DTZ is used at the root to prune losing moves etc. Syzygy WDL is used during search to filter draws and losses, and it is these which provide a large percentage of the TB hits.

If you have one but not the other, then that could explain what you are seeing.

Matthew:out
Some believe in the almighty dollar.

I believe in the almighty printf statement.
mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: Question about syzygy bases

Post by mjlef »

SzG wrote:To begin with, I have all 6 and less piece syzygy bases installed.

Watching Komodo in a 6-man ending I can see a relatively small tb hit rate and Komodo is calculating. That used to be different with Nalimov bases (with other engines) where the move is made instantly when the engine is in a tablebase position.
I know that the principle of syzygy is different but still, is that behaviour normal?
Syzygy tablebases are very different from older tablebases whihc had distance to mate in them. To make them small, Syzygy tablebases just contain the distance to zero (DTZ), zero being defined as a state change on the board that is not reversible, like a pawn move or a capture. This is not enough information to determine the shortest possible mate, but it is enough to guarantee it will eventually mate. But the behavior can look odd if you just play the shortest DTZ move. For example, the program might push a pawn with a move that leads to mate in 7 moves (since the DTZ for the pawn move is 1), instead of playing a 2 move mating combination. The initial Komodo 7 release just responded instantly with the shortest DTZ move, and people complained saying it looks bad. So we modified it to search in some cases, to make the moves played look better.

In any case, either way will ensure a win.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Question about syzygy bases

Post by syzygy »

SzG wrote:I know that the principle of syzygy is different but still, is that behaviour normal?
This is normal.

If I'm not mistaken K7 briefly used the instant move approach, but then switched to the current SF approach (maybe with some differences, I don't know) because of people being confused as to why it would prefer a pawn move over a mate in 2.

When SF is winning you don't want stupid pawn moves instead of a much quicker mate.

When SF is drawing you don't want random drawing moves that give away material or some other advantage and turn an easy draw into a difficult one.

When SF is losing you don't want random moves that only make the win easier for the opponent.

So do you really want instant moves? I don't think so, to be honest.

(Ah you're asking about K7, but the answer won't be much different.)

In case of SF it would be good if SF used much less time per move once the root position is a TB positon. But I prefer not to mess with time management. If someone has a non-intrusive one-line patch, then feel free to propose it, though.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Question about syzygy bases

Post by hgm »

WinBoard has an option where you can limit the search depth of an engine to N ply when it is in a drawn tablebase position. It is intended for use with EGT-using engines, which could never lose by thinking too short, and prevents excessive searching when you know there is absolutely nothing to find. This pretty much solves the swindle problem in the GUI, irespective of the engine.