Cursed win at TCEC

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

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: fortress_draw_rule

Post by hgm »

I don't think it is possible to switch off the 50-move rule in Stockfish, is it? You can only switch off the 50-move rule in (Syzygy) tablebase probing, but it will always apply the fifty-move rule during search.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

Joerg Oster wrote:
Lyudmil Tsvetkov wrote:
hgm wrote:Well, Duncan already posted that it is a mate in 31. So what else do you need to make yourself look foolish?
getting a reply from Duncan, and asking Milos the same thing, to acknowledge SF is able to mate easily, are 2 different things.

besides, I did not ask if it is mate, but whether SF is able to deliver the mate without tbs. also 2 different things.

sometimes people are also in a hurry and post, before reading the whole thread.

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.
OK, I did you the favor.
Here is the result of a self-match, 10 games, tc=20+0.2, no EGTBs:

Code: Select all

Started game 1 of 10 (SF-Master vs SF-Master)
Started game 2 of 10 (SF-Master vs SF-Master)
Started game 3 of 10 (SF-Master vs SF-Master)
Finished game 1 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 1  [0.500] 1
Started game 4 of 10 (SF-Master vs SF-Master)
Finished game 3 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 2  [0.500] 2
ELO difference: 0
Started game 5 of 10 (SF-Master vs SF-Master)
Finished game 2 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 3  [0.500] 3
Started game 6 of 10 (SF-Master vs SF-Master)
Finished game 5 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 4  [0.500] 4
ELO difference: 0
Started game 7 of 10 (SF-Master vs SF-Master)
Finished game 6 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 5  [0.500] 5
Started game 8 of 10 (SF-Master vs SF-Master)
Finished game 4 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 6  [0.500] 6
ELO difference: 0
Started game 9 of 10 (SF-Master vs SF-Master)
Finished game 8 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 7  [0.500] 7
Started game 10 of 10 (SF-Master vs SF-Master)
Finished game 7 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 8  [0.500] 8
ELO difference: 0
Finished game 9 (SF-Master vs SF-Master): 1/2-1/2 {Draw by fifty moves rule}
Score of SF-Master vs SF-Master: 0 - 0 - 9  [0.500] 9
Finished game 10 (SF-Master vs SF-Master): 1/2-1/2 {Draw by insufficient mating material}
Score of SF-Master vs SF-Master: 0 - 0 - 10  [0.500] 10
ELO difference: 0
Finished match
All games finished as draw.

And now?
9 games finished with 50-moves rule, 1 with insufficient material.
so you have 50-moves set on, while I asked for 50-moves rule disabled, whether in code or possibly by some GUI.

besides, I asked for blitz games (blitz=5 min + increment)

this is a complex position, you can not expect to win in 20 seconds.
Joerg Oster
Posts: 937
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany

Re: fortress_draw_rule

Post by Joerg Oster »

hgm wrote:I don't think it is possible to switch off the 50-move rule in Stockfish, is it? You can only switch off the 50-move rule in (Syzygy) tablebase probing, but it will always apply the fifty-move rule during search.
Indeed!
But even that wouldn't be sufficient.
It would also be necessary to tell cutechess-cli to not obey the rules of chess and not adjudicate draws by the 50-move rule.
Jörg Oster
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

hgm wrote:I don't think it is possible to switch off the 50-move rule in Stockfish, is it? You can only switch off the 50-move rule in (Syzygy) tablebase probing, but it will always apply the fifty-move rule during search.
Joerg, if you have time, why do not you change 50-moves counter in SF to 200 or 300, and then recompile?

or is there a solution with a GUI?
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: [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.

an even more optimal defence would be 20-moves rule on, but then there will be almost no checkmates.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: fortress_draw_rule

Post by hgm »

Joerg Oster wrote:Indeed!
But even that wouldn't be sufficient.
It would also be necessary to tell cutechess-cli to not obey the rules of chess and not adjudicate draws by the 50-move rule.
Actually the rules of Chess do not stipulate this as a mandatory draw, but just allows the players to claim one. So from the GUI point of view it is an adjudication. I WinBoard/XBoard you can specify the number of moves after which such an adjudication would be made, or switch it of altogether by specifying 0.

Of course there always is the risk that Polyglot would feel the need to claim a draw on behalf of the engine. But you could always use UCI2WB instead, which certainly would not do that.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

hgm wrote:That is not the position you asked about, which was a mate in 31. It seems you are back to the TCEC position.

Of course Stockfish cannot win that,.with or without EGT (against good defense). Or anyone else,for that matter. Because it is a theoretical draw.
and from my experience, top engines very easily solve similar simple positions; if SF sees the shorter win in 30 moves, certainly it will also see the bit longer one in 60 or so moves, it just needs more time.

problem is, how to disable 50-moves in SF and the GUI?
certainly someone has experience.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: fortress_draw_rule

Post by hgm »

Lyudmil Tsvetkov wrote:optimal defence = 50-moves rule on.
Optimizing defense does not constitute picking the rules. It is true that what is optimal depends on the rules; delaying the mate by an early sacrifice that resets the ply counter so that the mate, even though delayed, falls within the 50-move limit would obviously be stupid if a 50-move rule is in effect, while it is the only concern when it is not.

But it is easy enough to play Stockfish against either a Gaviota(=DTM)-using opponent as well as a Syzygy(=DTZ) using opponent.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: fortress_draw_rule

Post by hgm »

Lyudmil Tsvetkov wrote:problem is, how to disable 50-moves in SF and the GUI?
certainly someone has experience.
Well, as being said, it would require modification of Stockfish to play this Chess variant.

I would not recommend anyone to waste his time on that, though. We can just assume for the sake of argument that such a modified Stockfish easily finds a mate in 60. Like the modified version of Fairy-Max that I made easily finds the forced mate in 5 in this position:
[d]k7/8/1PK5/8/8/8/8/8 w
(Actually an unmodified version finds a mate in 3 here;for you to guess how to achieve that.) :lol:
And Sjeng finds an easy win for white in this position:
[d]7q/8/5k2/8/8/4K3/8/8 w
So what? By modifying/wrecking an engine you could make anything happen. Everything you said so far would still remain meaningless babble.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: fortress_draw_rule

Post by Lyudmil Tsvetkov »

whereagles wrote:
Lyudmil Tsvetkov wrote: SF is able to deliver mate on its own in such positions, so why deprive it of a well-deserved win?
Because, as others mentioned, the engines played in the assumption that the 50-moves rule was in effect. If Houdini was aware that cursed wins would indeed be scored as wins, it might have chosen other moves that may have led to a draw (or not..). Since we'll never know that, an adjudication is the solutions. In fact, this is what adjudication in sports is for.

Note also that people have checked some posts ago that Houdini did in fact had other drawish moves. It did not play those because engine efficiency requires it to opt for a drawish move as soon it finds one. And of course, a drawish TB hit is the fastest way to do it, so other draw possibilities are automatically pruned.

As I mentioned in my last post, I agree that cursed wins should be scored as wins, but only in engine tournaments where all engines have access to tablebases that can disable the 50-moves rule (you can also make a pretty good case for that in correspondence matches).

This is not the case of TCEC, because it has dozens of entrant engines and not all comply to that requirement. TCEC is all about quick access to the best live chess there is: one-click universal access, LTC games, all of the top engines, live chat flaming.. (lol). It would be weird to have different rules depending on whether engines have "50-moves /OFF" tablebase switches or not, so I think Anton should just adjust cutechess to score cursed wins as draws and otherwise leave TCEC as it is.

As to human games, well 200 moves (as you mentioned in the other thread, which seems to be broken for me at the moment) is far too much, even in special positions. That would lead to the dominant player to keep on playing drawn positions for a long time, hoping that his opponent messes up (he risks nothing). In some mind sports this sort of futile play is considered unethical and is liable to disciplinary sanctions. I agree with that view because it does not contribute to the promotion of the sport.
current TCEC is automatically run, so no need to change anything, that would create even more problems. you even do not have a clue how many cursed wins have been pruned during search, by which engines, and what they would have picked instead.

for future TCEC, why not simply allow cursed wins to be scored as wins in tbs and adjudicated so by the GUI, engines that use tbs will deservedly convert their advantageous position, engines that do not use tbs will not suffer in any conceivable way? I think this is the rigth way to go ahead. And sooner or later, this will happen.

Problem is much more serious, and I am certain you know it: by applying the 50-moves rule, engines deliberately do not choose the best move. Why do that?

I see nothing messy about an extended rule, it could be applied in 10 minutes by Ronald in the tbs, in another 10 minute by different GUI authors, and in another 10 minutes by different engine authors. 30 minutes hard work will bring about much more interesting chess, and much more legitimate outcomes.

all you need is for some protocol to specify that an extended draw rule would apply strictly in the case of computer chess tournaments. the protocol could be written in another 20 minutes. Once the protocol comes into force, gui, engine and tbs authors will comply in no time at all.

Problem is, where should such a rule be specified?

As to human games and your sports analogy, quite the contrary, if there is a win, the stronger player has the rigth to play for it, that would be the prupose of the rule, and a tbs win is an achievable win, of course.