-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Why does my Stockfish instance start completely new analysis of already analysed position? #4998
Replies: 2 comments · 9 replies
-
This is due to iterative deepening, it increases quality of search. However the transposition table and histories persist so there is no issue here |
Beta Was this translation helpful? Give feedback.
All reactions
-
Hi cj5716, many thanks for your answer! I below simplified the approach, Stockfish now looks repeatedly look only at position 1. I am still a bit confused and would be really thankful, if you could explain the following to me:
This still looks very suspicious to me, as if the engine would start completely new every time? Stockfish input and output
|
Beta Was this translation helpful? Give feedback.
All reactions
-
|
Beta Was this translation helpful? Give feedback.
All reactions
-
❤️ 1
-
Thank you very much for the explanation! So, if I understand you correctly, then breaking the position analysis up into several separated analysis steps with smaller movetime is inefficient, for instance because the engine cannot save the entire analysis state.
My problem is A) I need the Stockfish instance to analyze two positions "simultaneously" (meaning in practice that I let Stockfish alternate between the two with medium movetime of 500)
Thank you so much for the explanations, I would not know how to understand this without them! |
Beta Was this translation helpful? Give feedback.
All reactions
-
I have no idea on 3 |
Beta Was this translation helpful? Give feedback.
All reactions
-
how is that related to this discussion |
Beta Was this translation helpful? Give feedback.
All reactions
-
Hashfull is 0 because it is 0. Your analysis is too short to fill hash in a way that would show up in the logs. Search starts from depth 1 because there's no reason why it shouldn't. If there's prior information it will generally advance faster to subsequent iterations. Note that |
Beta Was this translation helpful? Give feedback.
All reactions
-
Even if hashfull is at 100% in the next position there is a good chance it'll say 0 which is pretty counterintuitive.
|
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Please also see my second example posted above, where hashfull goes from 0 to 4 in the first analysis and then starts again at 0 in each of the next analyses on the same position. Yes, a bit confusing for me as a beginner |
Beta Was this translation helpful? Give feedback.
All reactions
-
ok, I see what you mean. |
Beta Was this translation helpful? Give feedback.
All reactions
-
👍 1
-
Ah, wow, Sopel97, thank you very much, this is helpful to know! Maybe this could be added to the documentation of the hash at https://github.com/official-stockfish/Stockfish/wiki/Terminology#hash or https://github.com/official-stockfish/Stockfish/wiki/UCI-&-Commands#setoption ? |
Beta Was this translation helpful? Give feedback.
-
I would be really grateful if someone could help me out in understanding what I am doing wrong:
In the example below, I set up one Stockfish instance and then ask it to analyze two positions alternately: first position #1, then position #2, then again position #1, and again position #2. I do not give a ucinewgame command in-between, and it is the same instance the entire time.
I would expect, with the given command sequence, that Stockfish will build on the first analyses (e.g., from hash), when again analyzing the known positions a second time.
Instead, it seems to start again at depth 1 (and sometime even comes out at lower depth in the same timespan than earlier times). The hash is also reset to 0 each time.
So, to me it seems Stockfish completely forgets the old analysis.
Could you please help me out to understand how I can avoid this? Do I give the wrong commands?
Many thanks!!
Stockfish input and output
Beta Was this translation helpful? Give feedback.
All reactions