Look at the position below. In this position it is white to play and there is a forced checkmate in 8 moves.
How ever I see that Stockfish 10 do not find 8 move mate at depth 21 .
So what does depth means ?
Up to now I was thinking that depth 21 means that it find best variation out of all variations which has 21 or less moves and at depth 21 engine would be able to see all mating variations which are 21 moves or less longer.
Seems like my thinking about the meaning of depth is wrong.
Can some one please explain the real meaning of term "depth" in engine analysis
The 8 move forced mating variation is :
- Bge4 h5
- Bh1 h4
- Bhe4 h3
- Kf3 Kxh1
- Kg3+ Kg1
- Bh1 h2
- Kf3 Kxh1
- Kf2#
https://lichess.org/editor/8/7B/4B1Bp/3B4/2B5/8/5K1k/8_w_-_-_0_1
https://imgur.com/QOnEKjr
Look at the position below. In this position it is white to play and there is a forced checkmate in 8 moves.
How ever I see that Stockfish 10 do not find 8 move mate at depth 21 .
So what does depth means ?
Up to now I was thinking that depth 21 means that it find best variation out of all variations which has 21 or less moves and at depth 21 engine would be able to see all mating variations which are 21 moves or less longer.
Seems like my thinking about the meaning of depth is wrong.
Can some one please explain the real meaning of term "depth" in engine analysis
The 8 move forced mating variation is :
1. Bge4 h5
2. Bh1 h4
3. Bhe4 h3
4. Kf3 Kxh1
5. Kg3+ Kg1
6. Bh1 h2
7. Kf3 Kxh1
8. Kf2#
https://lichess.org/editor/8/7B/4B1Bp/3B4/2B5/8/5K1k/8_w_-_-_0_1
https://imgur.com/QOnEKjr
I think it's a bug, thought not sure what exactly could be causing it. Stockfish uses alpha beta pruning in order to limit the number of positions it has to evaluate. My guess is that somehow the mating line is getting incorrectly pruned from the search tree.
I think it's a bug, thought not sure what exactly could be causing it. Stockfish uses alpha beta pruning in order to limit the number of positions it has to evaluate. My guess is that somehow the mating line is getting incorrectly pruned from the search tree.
I noticed something similar: Quite often, Stockfish will find a long mating sequence at moderate depth (e.g. "mate in 13"), and after going to higher depth, the engine suddenly finds a shortcut (e.g. "mate in 11" when reaching depth 37 , or whatever). So I agree, "higher depth" seems to mean more than just calculating more moves further down the line, but also calculating "deeper" in terms of re-considering earlier branches of variations that have been neglected before.
Maybe someone familiar with the inner workings of stockfish can enlighten us...
I noticed something similar: Quite often, Stockfish will find a long mating sequence at moderate depth (e.g. "mate in 13"), and after going to higher depth, the engine suddenly finds a shortcut (e.g. "mate in 11" when reaching depth 37 , or whatever). So I agree, "higher depth" seems to mean more than just calculating more moves further down the line, but also calculating "deeper" in terms of re-considering earlier branches of variations that have been neglected before.
Maybe someone familiar with the inner workings of stockfish can enlighten us...
I Just checked this position with Fritz 16.
It also behave similar to Stockfish 10.
It also could not find mate in 8 at depth 31
https://imgur.com/fYhc3ht
I Just checked this position with Fritz 16.
It also behave similar to Stockfish 10.
It also could not find mate in 8 at depth 31
https://imgur.com/fYhc3ht
interesting, i also thought depth meant the number of moves ahead the engine "sees".
And in fact looking at this* artcile:"depth is the number of half moves the search nominally looks ahead."
The article also states that " some branches are searched deeper than nominal, but others shallower", so if my interpretation is correct it means the engine may actually look less than the declared number of half-moves (nominal depth).
So, a mate in 8 are 16 half-moves, very close to the "nominal" 21 and if the engine is looking in one of this "shallower" trees it will not consider the sequence until maybe later, when the trees grows deeper (and the nominal depth also increases).
The position you posted is clearly unusual, it's possible that the pruning functions are tuned in a way that work well for "normal" positions but suck big time in composed positions.
(or the engine has a bug)
interesting, i also thought depth meant the number of moves ahead the engine "sees".
And in fact looking at this* artcile:"depth is the number of half moves the search nominally looks ahead."
The article also states that " some branches are searched deeper than nominal, but others shallower", so if my interpretation is correct it means the engine *may* actually look _less_ than the declared number of half-moves (nominal depth).
So, a mate in 8 are 16 half-moves, very close to the "nominal" 21 and if the engine is looking in one of this "shallower" trees it will not consider the sequence until maybe later, when the trees grows deeper (and the nominal depth also increases).
The position you posted is clearly unusual, it's possible that the pruning functions are tuned in a way that work well for "normal" positions but suck big time in composed positions.
(or the engine has a bug)
* https://www.chessprogramming.org/Depth
@kleiner0
I just tried this position with cloud analysis.
At depth 44 = 22 full nominal moves , it still do not see this mate in 8.
https://imgur.com/qRdYow9
@kleiner0
I just tried this position with cloud analysis.
At depth 44 = 22 full nominal moves , it still do not see this mate in 8.
https://imgur.com/qRdYow9
@thibault
@isaacly
@Toadofsky
As developers can you please tell some thing about this. Is it a bug of the engine or ?
@thibault
@isaacly
@Toadofsky
As developers can you please tell some thing about this. Is it a bug of the engine or ?
Finally SockFish 10 was able to find 8 move mate at depth 66
https://imgur.com/u9Umd54
Finally SockFish 10 was able to find 8 move mate at depth 66
https://imgur.com/u9Umd54