6

I'm using SCID with the latest Stockfish 7 on my Ubuntu PC. When I'm analyzing a position, I can see the depth counter on the left. After seeing that the move, Nf3 say, get to depth 25, I go to play the move. I would expect that when the engine is analyzing this new position, it would start at depth 25, but this is not the case. The engine needs to work up to there from the first observed depth considering the exponential increase in time-computing depth, around 14 or so.

Am I misinterpreting the depth counts or is there some technical reason as to why this is happening? One reason I thought, might be because if I hadn't chosen Nf3, and chose one of the worst moves, then there would be many missing branches due to pruning between candidate moves. This would mean evaluating the move using previous information would save little time since few variations have been examined.

  • I was trying to answer your question but stopped. I don't think I understand your second paragraph. The engine always assume best-play, it believed the best move was Nf3. Can you explain "using previous information would save little time"? – SmallChess Jun 20 '16 at 1:12
  • Also, the title is a bit misleading for the question. Do you mean "why Stockfish didn't save searched branches into something like a hash table?" – SmallChess Jun 20 '16 at 1:13
  • If you mean why Stockfish didn't save the searched results - Stockfish does save evaluations in a hash table. Does that answer your question? – SmallChess Jun 20 '16 at 1:14
  • what part of the second paragraph don't you understand? Or all of it? – Qwertford Jun 20 '16 at 1:22
  • 1
    My understnading is that you were asking why Stockfish didn't save evaluated moves for further analysis. Am I right? – SmallChess Jun 20 '16 at 1:23
3

I think the answer is that, although the engine has indeed calculated to depth 25, it has certainly not been able to store anywhere near the amount of the tree it examined during that search, no matter the memory allocated to the transposition table (hashtable). A lot of that tree (even of the pruned tree) is discarded as the depth-25 calculation continues, and so it pretty much has to be recreated after each move.

You may object that, almost certainly there must be a depth-24 value for the position after Nf3 stored in the hashtable left over from the previous depth-25 calculation. But that kind of proves the point -- the hashtable only stores a single value and a single "principle variation" leading to that value, not the whole depth-24 tree from which that principle variation was determined, by any means.

  • Upvoted because I believe you to be correct - but any documentation you might be able to link to? – maxwell Jul 15 '16 at 3:39
  • @Maxwell Just knowledge of how chess is programmed: chessprogramming.wikispaces.com – Jeff Y Jul 21 '16 at 14:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.