Related to Behting: John Nunn's testposition

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

Moderators: hgm, Rebel, chrisw

User avatar
Eelco de Groot
Posts: 4561
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Related to Behting: John Nunn's testposition

Post by Eelco de Groot »

Jouni wrote: Sun Aug 12, 2018 7:08 pm Addition: 6 piece tablebase seems to work OK even without 5 piece set. Is there now difference in 7 piece?
As far as I know, if you have any 6 piece table but are missing even one of the 5, 4, 3 tables it can lead to, you get errors and you are better off not having tablebases at all. At least it was that way with Nalimov but I don't think it has changed since the principle is largely the same.

At Ronald and @ Vincent Lejeune: Thanks for the links :) !


P.S.: We should have a list of names of at least the non aliases here. Even though there are not that many really different people, it is becoming harder to remember what their names really were... :) For newcomers it is really confusing I think. Who the &*^% is that Bob person. And who is Syzygy really
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Related to Behting: John Nunn's testposition

Post by Uri Blass »

syzygy wrote: Sun Aug 12, 2018 1:50 am
Uri Blass wrote: Sat Aug 11, 2018 10:41 pm something seems to be wrong with this site
I looked at different positions and got the following link

https://syzygy-tables.info/?fen=8/8/8/q ... _w_-_-_0_1

White is losing with DTZ 101
Kxc4 is a loss that is practically a draw by the 50 move rule.

After choosing Kxc4 I see that
Black is winning with DTZ 121

How is it possible that DTZ increase after the correct move?

Edit:or Maybe DTZ 101 does not really means 101 plies to conversion but also 1 ply to a capture that lead to a cursed win.
Yes, 101 either means 101 plies to a winning zeroing move (or mate) or 1 ply to a zeroing move into a cursed win.
In the last case the tablebases do not always suggest the best move because if I have a cursed win I may prefer not to have as soon as possible a capture that lead to a cursed win but to have a move that could win with the 51 move rule if I cannot win with the 50 move rule and win with the 52 move rule if I cannot win the 51 move rule...
What is the best move if the position is a draw anyway?
The tables contain enough information to convert the (cursed) win if the 50-move rule is ignored.

It is not possible to have a scalar metric that encodes the 50-move rule, 51-move rule, 52-move rule, etc.

To be more correct the 50 move rule is the 100 ply rule and I think that you basically need many different tablebases for the 101 ply rule,102 ply rule and all the bigger options to have better moves in a cursed win position(better in the meaning that there is a better chance that the opponent is going to do a mistake).

It means that you practically need 2 numbers for cursed win that one of them is number of plies of the cursed win and one of them is distance to conversion to a cursed win with less plies(often the distance is going to be 1 because a quiet move may be enough to translate 101 ply win to 100 ply win or 107 ply win to 106 ply win with no capture but in some cases you may need 20 plies and a capture that does not chance the 123 plies rule that you need and only after the capture a quiet move reduce 123 to 122)

Another idea that I thought about is to define the following game that a chess is private game of it.
The rules are the same rules as chess except maybe the 50 move rule.

players can ask for a draw by the 50 move rule
If a player ask correctly for a draw at least k times based on different history of the game the result of the game is a draw.

Now if k=1 it is the same as chess but it is different if k>1 and it is possible to build tablebases for k=1 and later for k=2 and later for k=3 and continue in this way.
if tablebases for k=1 say a cursed win the program can look for tablebases with k=2 and continue in this way until getting some k that it is not a cursed win for it and play the best move.
syzygy
Posts: 5557
Joined: Tue Feb 28, 2012 11:56 pm

Re: Related to Behting: John Nunn's testposition

Post by syzygy »

Uri Blass wrote: Mon Aug 13, 2018 2:28 am To be more correct the 50 move rule is the 100 ply rule and I think that you basically need many different tablebases for the 101 ply rule,102 ply rule and all the bigger options to have better moves in a cursed win position(better in the meaning that there is a better chance that the opponent is going to do a mistake).
Exactly, you would need many different tablebases. And I agree that playing for a win under the N-ply rule with N > 100 as small as possible should generally be a good strategy.

Some years ago (before the ICCF abolised the 50-move rule for 6-piece positions) I helped someone win a correspondence game by generating KBBvKNP for various values of N > 100. Unexpectedly the opponent deviated a couple of times from the Nalimov moves at just the right moment, but in the end he made a fatal mistake and lost the game.
Another idea that I thought about is to define the following game that a chess is private game of it.
The rules are the same rules as chess except maybe the 50 move rule.

players can ask for a draw by the 50 move rule
If a player ask correctly for a draw at least k times based on different history of the game the result of the game is a draw.

Now if k=1 it is the same as chess but it is different if k>1 and it is possible to build tablebases for k=1 and later for k=2 and later for k=3 and continue in this way.
if tablebases for k=1 say a cursed win the program can look for tablebases with k=2 and continue in this way until getting some k that it is not a cursed win for it and play the best move.
Interesting. If this variant becomes popular I may consider generating some tables ;-)