Sorry. If it sounds bogus, you simply don't understand what is going on... Handle it however you like. It is not a huge elo gain, but it will lose you an extra game here and there when you miss a fail high that you should have found... Far be it from me to tell you how to write your code, I am just telling you that what you are doing is theoretically (and practically) unsound...zamar wrote:Usually there is just no reason to do this. Root is an exception. We need to know the exact score of the move, so we need to resolve the fail-high and sometimes it just happens that while resolving we get fail-low. And you suggest that we should just ignore that completely free extra information that move could be very bad and just trust on previous fail-high. Sound very bogus for me...Then as I said, one should simply take each fail high position in the tree, and re-search with a relaxed beta bound, to see how many fail low the second time around. Then you _know_ how incorrect this assumption is.
Or, more likely, an indication that a fail-high TT entry (that helped you find the fail high) is no longer valid after you change the beta bound, and your search can't see deeply enough to find the better move. Or that during the re-search, you overwrote something that would have helped you get a real score, had you kept it in the TT.Of course fail-high is very good in majority of cases. Like having two aces is very good thing in Poker _in_majority_of_cases. But fail-low (after fail-high) is a signal that your opponent might have three kingsIf a fail-high is not correct in a majority of the cases, then fail-high is no good.
Etc...
My point exactly. The fail high is information you are throwing away.We must resolve fail-highs at root, even Crafty does that. Resolving gives us extra information. For optimum decision, you want to use all available information.This is yet another of those ideas that says you should treat the root differently from the rest of the tree.
beep beep beepTo which I would always answer "why?" And I always wait for a sound theoretical explanation, or a sound experimental explanation. And all I usually get is "sound" (as in noise).