lichess.org
Donate

Engine Analysis

So I am often analyzing Horde positions. And I let it calculate to a depth of mostly ~30 (analyzing further takes way to long on my comp) So I was just wondering out of curiosity what "depth #" means. Does depth 30 for example mean that the engine calculated 30 moves ahead?
Or is it just something technical that has nothing to do with moves or something like that?
Depth is expressed in a unit called a ply/piles (one move by one player). So per your example, depth 30 means that the engine calculated 15 full turns ahead, but engines use techniques like pruning, late move reductions, and various others to achieve these depths and thus by 30 depth it has thrown out several candidates as they didn't meet an evaluation threshold earlier in the search. If you want all moves to be considered, you have to use Multi-Pv which will increase the minimum number of candidate moves printed by the engine to the GUI. This can be useful for highly quiescent positions or if you just want a more complete tree. This is of course much slower. The good thing about NN based engines like Lc0 is that their search technique essentially makes Multi-Pv free unline A/B engines such as Stockfish or Komodo. Komodo claims that MCTS mode makes Multi-PV free, but it is very slow and out of the box rather weak for analysis.

I hope this helps answer your question.
The explanation in #2 is basically correct, although in recent times the equivalence of the number of search iterations ("depth") and the actual search depth in Stockfish diverges more and more due to dynamic adjustments of search depth. However, in most positions they are still roughly equivalent.

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