I am not sure whether I understand your scenario. At least I think it might be possible that you did not take into account the fact that you can only get a hash hit from a TT entry that has a sufficient depth related to the current depth. In the light of that detail it appears to me that the scenario you are afraid of does not happen. I may be wrong, though.xmas79 wrote:You guys seem to miss my point. The point is:Sven Schüle wrote:Why "avoid TT cutoffs"? What is the goal behind that? I would assume the usual goal is to get TT cutoffs whenever possible. What you want is to avoid truncated PVs. But that has been discussed in lenght somewhere else, there are ways to achieve that (e.g. separate PV hash table). The goal to get TT cutoffs whenever possible should have a higher weight than avoiding PV truncation in my view.xmas79 wrote:If I'm gonna win (especially after a failhigh at root) I will only raise beta, and hope not to fail low. If that happens then I lower alpha, until AB window gets wide enough to avoid TT cutoffs so I get an exact score.
1) I'm going to search a position at depth D
2) I find a PV that has length D and complete iteration at depth D
3) I go on with iteration at depth D+1
4) I hash hit on a ply X<D, so I get a PV on length D and skip the subtree (note I wrote length D and not lenght X, supposing you are able to retrieve it from hash table or whatever way you have to restore PVs)
5) I complete search WITHOUT changing PV (typical in endgames where a few plies are foced?)
Just stopping here I already see a flaw: all the moves belonging to a PV at depth D are guaranteed to be the best moves when searching at depth D, but they are NOT guaranteed to be the best moves at depth D+1, so in step 5 I have just lost the possibility to change my mind in all the plies >= X to D+1 You even removed the possibility to fail low because you didnt analyze the moves at depth D+1 (typical in positions where you have a ping-pong of failhgh/faillow)
6) I go on with iteration at depth D+2
7) If I still get hash hit at ply X<D where I will be back again with the same PV at depth D instead of one at depth D+2
8) etc..etc..etc...
IMHO, it's clear that hash hitting (in PV nodes) two exact scores in a row (but even once can be enough) can lead to bad playing. The truncation of PVs is "only" a side effect of search really missing something.
You see some reasons against accepting TT cutoffs of type "exact" in PV nodes. In a previous post you saw some reasons against accepting TT cutoffs of type "LowerBound" or "HigherBound" in certain cases. I see no justification for both
Sven
