Cursed win at TCEC

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

Moderators: hgm, Rebel, chrisw

syzygy
Posts: 5555
Joined: Tue Feb 28, 2012 11:56 pm

Re: fortress_draw_rule

Post by syzygy »

Lyudmil Tsvetkov wrote:rigth, the last move must be a capture.

essentially, what changes this though? any tbs mate longer than 50 moves will be considered as a draw, this node will return a score of 0.0, while another node, with no tbs hits and a score of, say 40cps, objectively a draw in the eg, will be considered by the engine stronger than the 0.0 cursed win node.
The TBs inform the engine that the position is a loss, blessed loss, draw, cursed win or win. It is up to the engine programmer to make use of this information. If the engine is playing white and the position is a blessed loss for white, then the engine can safely score the position as a draw (but I would personally prefer scoring it as -0.01 so that engine prefers "real" draws). If the position is a cursed win for white, then the engine should score it at least slightly positively (unless it is certain that the opponent is using 50-move aware TBs too or it is known that the game will be (correctly) adjudicated).
this definitely has implications on choosing the best move. why consider a node that is draw with slightly positive score better than a node with 0.0 score, objectively though a win?
Objectively a cursed win is very much a draw. A simple mathematical fact.

In practice when playing an engine not using TBs, and certainly when playing a human, the position can likely be won because the opponent will play imperfectly. So in that case the engine should probably assign it a score that reflects its very real winning chances.
during search, an engine might hit hundreds of thousands similar cursed win nodes, and take decisions accordingly. the impact on game play should not be small.
Influencing the decision on what move to play is the point of using TBs.
syzygy
Posts: 5555
Joined: Tue Feb 28, 2012 11:56 pm

Re: fortress_draw_rule

Post by syzygy »

Lyudmil Tsvetkov wrote:
syzygy wrote:
Evert wrote:
Lyudmil Tsvetkov wrote:[d]8/4n3/4k3/8/8/4K1B1/2B5/8 w - - 0 1

why instruct the engine above position is a draw, when SF finds mate very quickly even at bullet?
I'm not sure what point you think you're making?
The position is apparently mate in 43 moves (starting with 1. Bb3+), so the 50 move rule is irrelevant even if the knight is not captured (which I haven't checked). Source: Nalimov tables from http://www.k4it.de/?topic=egtb&lang=en.
Yes, one side to this discussion is rather unwilling to understand the stuff he's talking about.

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

DTZ=59, so white can force a mate or winning capture in under 30 moves.

If this were impossible to win within the 50-move rule, SF would be expected not to find a mate in the first place. After all, SF knows about and accepts the 50-move rule.
I can not go check each and every tbs position whether is a longer or shorter than 50 mate. The general rule say BB vs N 66 moves longest mate, there are shorter mates of course. the point was to demonstrate that SF is able to deliver mate on its own in such positions, so why deprive it of a well-deserved win?
Do you really not get it?

The position you gave is a win for white under the 50-move rule and SF using 50-move aware TBs will certainly deliver mate within the 50-move rule. In no way will SF be deprived of its well-deserved win.

Could you explain what you do not understand about this?
do not have quick access as well as the time to check tbs now, I hope you will help out with this, but here is a position I presume is longer than 50 mate:

[d]2kb4/1b6/8/8/3Q4/8/8/4K3 w - - 0 1

actually, a variation of the TCEC game

I presume SF will be able to deliver mate on its own above at blitz TC, will it not?

Is somebody able to check this?
You obviously have internet access and you are able to paste FENs. So you don't need our help.
https://syzygy-tables.info/
syzygy
Posts: 5555
Joined: Tue Feb 28, 2012 11:56 pm

Re: fortress_draw_rule

Post by syzygy »

Lyudmil Tsvetkov wrote:the point is, if SF is able to mate below:

[d]K5Q1/8/8/8/5bb1/6k1/8/8 w - - 0 1

why adjudicate draw? why on Earth?

that is the real question, and not whether I have posted a mate shorter than 50 instead of a longer one. I guess everyone understands that.
Everyone but you understands that in your previous position SF was able to find the mate because it was within the 50-move rule.

The position you give now is a cursed win. Against optimal play it needs more than 50 moves before a mate or a winning capture. Since SF accepts the 50-move rule, it will not find the win when searching without TBs (nor when searching with 50-move aware TBs, obviously).

Why adjudicate draw? Well, why adjudicate at all... why not simply play it out. If SF plays this out against H5 with TBs, then H5 will certainly keep the draw. But against H5 without TBs, SF might well win this. But that SF might be able to win against suboptimal play does not change the fact that the position is a draw. So if it adjudicated, there is only one right outcome.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

syzygy wrote:
Lyudmil Tsvetkov wrote:the point is, if SF is able to mate below:

[d]K5Q1/8/8/8/5bb1/6k1/8/8 w - - 0 1

why adjudicate draw? why on Earth?

that is the real question, and not whether I have posted a mate shorter than 50 instead of a longer one. I guess everyone understands that.
Everyone but you understands that in your previous position SF was able to find the mate because it was within the 50-move rule.

The position you give now is a cursed win. Against optimal play it needs more than 50 moves before a mate or a winning capture. Since SF accepts the 50-move rule, it will not find the win when searching without TBs (nor when searching with 50-move aware TBs, obviously).

Why adjudicate draw? Well, why adjudicate at all... why not simply play it out. If SF plays this out against H5 with TBs, then H5 will certainly keep the draw. But against H5 without TBs, SF might well win this. But that SF might be able to win against suboptimal play does not change the fact that the position is a draw. So if it adjudicated, there is only one right outcome.
what about picking the best move controversy?

By keeping the 50-move rule/restriction, SF obviously chooses and plays suboptimal moves. Why do that? Is not the purpose of chess programming finding the best move?

Besides, I guess this also has impilications on eval and search tuning. What if some terms fails only because SF chooses subomtimal lines, while keeping the 50-move rule? Certainly this rule should be adjusted before engines start playing perfect chess.

and for engines, aspiring to play perfect chess, it is good to at least start thinking about changing it.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

syzygy wrote:
Lyudmil Tsvetkov wrote:rigth, the last move must be a capture.

essentially, what changes this though? any tbs mate longer than 50 moves will be considered as a draw, this node will return a score of 0.0, while another node, with no tbs hits and a score of, say 40cps, objectively a draw in the eg, will be considered by the engine stronger than the 0.0 cursed win node.
The TBs inform the engine that the position is a loss, blessed loss, draw, cursed win or win. It is up to the engine programmer to make use of this information. If the engine is playing white and the position is a blessed loss for white, then the engine can safely score the position as a draw (but I would personally prefer scoring it as -0.01 so that engine prefers "real" draws). If the position is a cursed win for white, then the engine should score it at least slightly positively (unless it is certain that the opponent is using 50-move aware TBs too or it is known that the game will be (correctly) adjudicated).
this definitely has implications on choosing the best move. why consider a node that is draw with slightly positive score better than a node with 0.0 score, objectively though a win?
Objectively a cursed win is very much a draw. A simple mathematical fact.

In practice when playing an engine not using TBs, and certainly when playing a human, the position can likely be won because the opponent will play imperfectly. So in that case the engine should probably assign it a score that reflects its very real winning chances.
during search, an engine might hit hundreds of thousands similar cursed win nodes, and take decisions accordingly. the impact on game play should not be small.
Influencing the decision on what move to play is the point of using TBs.
but all that does not change the fact that the engine chooses a chessically not-best move. what do I care about maths, rules/restrictions, when I betray the position chessically? maths, rules can be adjusted, but the chessical content not. The rules are made for chess, and not chess content to comply with a specific set of rules.

adjusting such scores to slightly negative or slightly positive is quite probably the better solution, but still, hundreds of thousands similar nodes in the search will have influence on other nodes with scores much higher or much lower. this does not speak well for the engine trying to find the objectively best move.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

Evert wrote:
Lyudmil Tsvetkov wrote:
Evert wrote:
Lyudmil Tsvetkov wrote: [d]K5Q1/8/8/8/5bb1/6k1/8/8 w - - 0 1

this already should be tbs win in more than 50.

is SF able to deliver mate in blitz mode without tbs?
The position is a cursed win, so not against optimal defence. Against sub-optimal defence? Maybe, but who cares?
optimal defence = 50-moves rule on.
Obviously.
an even more optimal defence would be 20-moves rule on, but then there will be almost no checkmates.
What 20-move rule? There is no such rule.

You want to play by a different rule set, that's fine. I like different rule sets myself. Just stop confusing the issue by pretending to talk about Orthodox Chess when you're talking about Tsvetkov's Chess instead.
when you know there is mate in 80 not involving any pushes/captures, you should give the engine 80 moves' time to deliver that mate, otherwise you are acting unjust to the engine, and chess in general as well.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

hgm wrote:We could of course also allow captured pieces to be dropped back on the board, in future TCEC. That would strongly reduce the draw rate, and make for much more interesting games. :idea:

Or allow an Elephant and a Hawk to be gated onto the board in the opening. That would give much more exciting tactics.
we are talking about the most popular, and by far, chess mainstream variant, so no need to change basic rules, we would like to just change outdated/meaningless rules.

if there is mate in 80, why not give the engine the chance to deliver this mate? you find this fair?
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

syzygy wrote:
Lyudmil Tsvetkov wrote:
syzygy wrote:
Evert wrote:
Lyudmil Tsvetkov wrote:[d]8/4n3/4k3/8/8/4K1B1/2B5/8 w - - 0 1

why instruct the engine above position is a draw, when SF finds mate very quickly even at bullet?
I'm not sure what point you think you're making?
The position is apparently mate in 43 moves (starting with 1. Bb3+), so the 50 move rule is irrelevant even if the knight is not captured (which I haven't checked). Source: Nalimov tables from http://www.k4it.de/?topic=egtb&lang=en.
Yes, one side to this discussion is rather unwilling to understand the stuff he's talking about.

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

DTZ=59, so white can force a mate or winning capture in under 30 moves.

If this were impossible to win within the 50-move rule, SF would be expected not to find a mate in the first place. After all, SF knows about and accepts the 50-move rule.
I can not go check each and every tbs position whether is a longer or shorter than 50 mate. The general rule say BB vs N 66 moves longest mate, there are shorter mates of course. the point was to demonstrate that SF is able to deliver mate on its own in such positions, so why deprive it of a well-deserved win?
Do you really not get it?

The position you gave is a win for white under the 50-move rule and SF using 50-move aware TBs will certainly deliver mate within the 50-move rule. In no way will SF be deprived of its well-deserved win.

Could you explain what you do not understand about this?
do not have quick access as well as the time to check tbs now, I hope you will help out with this, but here is a position I presume is longer than 50 mate:

[d]2kb4/1b6/8/8/3Q4/8/8/4K3 w - - 0 1

actually, a variation of the TCEC game

I presume SF will be able to deliver mate on its own above at blitz TC, will it not?

Is somebody able to check this?
You obviously have internet access and you are able to paste FENs. So you don't need our help.
https://syzygy-tables.info/
syzygy tbs site is blocked for me :)

I have the following, very reasonable suggestion ( unfortunately, no one specified in which protocol the suggested change could be implemented, so I go for UCI and winboard):

Why not add a paragraph or 2 in UCI/winboard protocols, with following text:

' Engines implementing the UCI/winboard protocol follow the FIDE Rules of Chess, with the exception of the 50-moves rule.

For the purposes of engine competition, the FIDE 50-moves rule is transformed into 2 subrules:

1. the general 50-moves FIDE rule applies throughout the game, with the exception of pawnless endgames.
2. only in pawnless endgames, the 50-moves rule is extended to 550-moves rule (the longest known such mate being 1090 plies), to accomodate relevant winning positions.'

very consise, and very reasonable.

programmers and gui authors will comply in a day or 2, as otherwise their engines will not be able to play in competitions. and we have the problem solved very quickly.

of course, maybe the 550 bound could be lower, say 200, to include some 80% of relevant endings, or why not apply a variable length rule, specifying to which endgames a longer or shorther variable length rule applies? no waste of time, but still including all ednagmes?
whereagles
Posts: 565
Joined: Thu Nov 13, 2014 12:03 pm

Re: fortress_draw_rule

Post by whereagles »

Lyudmil, engines play suboptimal moves because of search efficiency. Those are not actually suboptimal under 50-moves rule. They are degenerate solutions.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: fortress_draw_rule

Post by Evert »

Lyudmil Tsvetkov wrote: when you know there is mate in 80 not involving any pushes/captures, you should give the engine 80 moves' time to deliver that mate, otherwise you are acting unjust to the engine, and chess in general as well.
So you say.
Yet you have repeatedly failed to demonstrate why that would be so.

I'll ask you again: how is it more unjust to be deprived of a win than to be deprived of a draw?