Question about syzygy bases

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
SzG
Posts: 2461
Joined: Fri Mar 10, 2006 6:20 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Question about syzygy bases

Post by SzG » Mon Jun 02, 2014 8:51 am

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?
Gabor Szots

CCRL testing group

Vinvin
Posts: 4028
Joined: Thu Mar 09, 2006 8:40 am

Re: Question about syzygy bases

Post by Vinvin » Mon Jun 02, 2014 9:56 am

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: 8047
Joined: Wed Jul 26, 2006 8:21 pm

Re: Question about syzygy bases

Post by Laskos » Mon Jun 02, 2014 11:33 am

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: 1327
Joined: Sun Jul 17, 2011 9:14 am

Re: Question about syzygy bases

Post by ZirconiumX » Mon Jun 02, 2014 2:24 pm

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: 1327
Joined: Thu Mar 30, 2006 12:08 pm
Contact:

Re: Question about syzygy bases

Post by mjlef » Mon Jun 02, 2014 6:49 pm

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: 4255
Joined: Tue Feb 28, 2012 10:56 pm

Re: Question about syzygy bases

Post by syzygy » Mon Jun 02, 2014 6:57 pm

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: 22327
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Question about syzygy bases

Post by hgm » Mon Jun 02, 2014 7:10 pm

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.

Post Reply