lichess.org
Donate

Forced checkmate sequence can increase in length as analysis goes deeper

I believe I’ve seen recently my local analysis evaluating the position as something like “#23”, and then, after some still deeper calculations, it had increased, i. e., showed something like “#26”. The engine be like “White can checkmate in at most 23 moves if playing properly”, and then “oops, not quite, Black can put off their defeat for three moves”.
That confuses me.
Just because the engine has seen more moves :) and apparently one of those moves was a better defense for black. Very simple :)
But the hash-symbol indicates that the number that follows is the length of the found forced checkmate sequence, and “forced” means that it’s proven to be undefendable­­—forced indeed, as the name implies. Mustn’t the engine verify first that the sequence is indeed forced, and only then report it? What’s the point of reporting not-yet-absolutely-certain sequences?
@Hott said in #3:
> But the hash-symbol indicates that the number that follows is the length of the found forced checkmate sequence, and “forced” means that it’s proven to be undefendable­­—forced indeed, as the name implies.
Forced according to that specific engine depth.
If you want to fully verify something, feel free to wait for a long time for Stockfish to reach depth 99 or something.
Chess engines can only look at so many possibilities.

It's not confusing at all.
Then calling it forced doesn’t make much sense to me.
@Hott said in #5:
> Then calling it forced doesn’t make much sense to me.
It is forced in the view of the specific depth.

Let me give you another example.
If a low-depth engine somehow sees a faulty skewer, in order to guarantee that the skewer is correct, it would have to analyze every position of the skewer.
However, at that point, the engine is not low-depth anymore.
@InkyDarkBird said in #4:
> Forced according to that specific engine depth.
> If you want to fully verify something, feel free to wait for a long time for Stockfish to reach depth 99 or something.
You are wrong. When a chess engine announces a mate with the hash sign, it is 100% verified. There may be even shorter mate lines not yet found, but the announced mate is guaranteed.

If the chess engine has found a mate which is NOT guaranteed, it won't use the hash sign, just a very high or low score.

> It's not confusing at all.
And yet you are confused.
@Mendelfist said in #7:
> You are wrong. When a chess engine announces a mate with the hash sign, it is 100% verified. There may be even shorter mate lines not yet found, but the announced mate is guaranteed.
But that goes against what OP claims in #1.
@Hott said in #1:
> I believe I’ve seen recently my local analysis evaluating the position as something like “#23”, and then, after some still deeper calculations, it had increased, i. e., showed something like “#26”. The engine be like “White can checkmate in at most 23 moves if playing properly”, and then “oops, not quite, Black can put off their defeat for three moves”.
> That confuses me
The mate in #23 is still true. It should be very rare that the engine can't find the same mate at deepeer search. I have never seen it.
@InkyDarkBird said in #8:
> But that goes against what OP claims in #1.
The engine is not guaranteed to find the shortest mate, so if an engine says during the search mate in #10, #15 and #20, all are true and 100% unavoidable. There may also be a mate in #8 which the engine didn't find, but that doesn't invalidate the previous lines.

This topic has been archived and can no longer be replied to.