Uri Blass wrote:
Strong engines also have extensions so 36 plies can mean more than 36 plies in the longest selected branches.
Sure. Typically, the search depth reported by an engine represents a "base" search depth which, however, is variation-locally modified by numerous extensions and reductions as well as a mandatory quiescence search. Hence, it is quite probable that an engine that reports a depth of 36 plies might search even somewhat deeper for selected lines of play, while, for the broad majority of variants, it will perform merely a quite shallow search significantly below 36 (or even 10) plies.
As far as I see, Stockfish doesn't find the solution in the discussed position simply because it doesn't consider underpromotion in its selective lines of search; there are no zugzwang / null-move-pruning-related issues here.
That Stockfish doesn't succeed in this very position while various other not-so-strong engines quickly find the mate in 18 does definitely *not* mean that we should consider this a weakness that should be eliminated in follow-up versions of Stockfish. Precisely the highly optimized extension / reduction strategy enables Stockfish to play as strong in regular matchplay as it does. It probably wouldn't be a big issue to alter Stockfish in a way that it solves such positions in a few seconds; the price, however, would be high in terms of a significantly reduced playing strength in "usual" matchplay positions.
I think that you simply do not understand stockfish.
Stockfish does not see it because of very aggresive null move pruning and the problem is not only zugzwangs(so even with zugwang detection it has no chances.
The problem of null move pruning prevent stockfish to see even mate in 6 in a reasonable time because even at depth 100 it may search some line of
move A null move B null move C null move D null move E prune when practically you need also move F to see the mate.
The problem is that stockfish reduce 1/4 of the nominal depth+some plies after every null and it means that you easily can get from depth 100 only depth 100*3/4-10 after the first null that is 65 plies
If you continue by this formula you get
100*3/4-10=65 plies after null A
65*3/4-10=38.75 let say 39 plies after null B
39*3/4-10=19.25 let say 19 plies after null C
19*3/4-10=4.25 let say 4 plies after null D
There is also the zugwang problem because if black has the right not to move and has the right to claim draw by stalemate if it has no legal moves then I do not see how white wins.
How do you win after 1.axb8=N c3 2.Na6 null?
I can add that I also disagree with you that it is not a weakness of stockfish not to solve the position.
It is clearly a weakness of stockfish.
The fact that fixing it by using the same chess algorithm of weak chess engines cost elo does not mean that it is impossible to fix the problem in a productive way that only earn elo.
I feel sure that it is possible and people simply did not find the right way.