Hence, if I call
Code: Select all
search(depth - R)
Meanwhile if I call
Code: Select all
search(depth - R, disable_nullmove=True)
Is there any reason not to do this?
Moderator: Ras
Code: Select all
search(depth - R)
Code: Select all
search(depth - R, disable_nullmove=True)
Then how do you expect to find a hash move by doing IID? Any move found by IID will be stored with the key for a lower depth.thomasahle wrote: ↑Fri Jan 06, 2023 8:53 am I see. I guess my TT works a little different from the usual case, since I store the depth as part of the key.
I actually store moves in a separate hash table from scores. This table doesn't use the depth in the key.syzygy wrote: ↑Sat Jan 07, 2023 2:57 amThen how do you expect to find a hash move by doing IID? Any move found by IID will be stored with the key for a lower depth.thomasahle wrote: ↑Fri Jan 06, 2023 8:53 am I see. I guess my TT works a little different from the usual case, since I store the depth as part of the key.
Or are you looping through all depths and probing the TT for each depth?
You are right of course, but I considered this use of the TT wasn't important enough for me to introduce the instability.hgm wrote: ↑Fri Jan 06, 2023 12:18 pm Indeed. If a certain position would have a good (lower bound) score from, say, a d=3 search, but a very bad (upper-bound) score from a d=6 score, the d=6 score would virtually always be correct in concluding this position is bad. With the usual TT design the d=3 result would have been overwritten by the d=6 result. But you leave it in. So if you would encounter that position again through a less efficient path that ate away some depth so that the requested depth is again 3, you will mislead the engine into thinking that the position is good.
OK, that removes my confusion.thomasahle wrote: ↑Sat Jan 07, 2023 10:53 pmI actually store moves in a separate hash table from scores. This table doesn't use the depth in the key.syzygy wrote: ↑Sat Jan 07, 2023 2:57 amThen how do you expect to find a hash move by doing IID? Any move found by IID will be stored with the key for a lower depth.thomasahle wrote: ↑Fri Jan 06, 2023 8:53 am I see. I guess my TT works a little different from the usual case, since I store the depth as part of the key.
Or are you looping through all depths and probing the TT for each depth?