Well, you could for instance store the first move in the static ordering with a bound that is not very much below what you need.bob wrote:So, you have a clue that the best SEE capture produced a pretty high fail-high bound at the next ply, how do you decide what to store in the hash move? Not by comparing fail-soft bounds, so what is left? It is one thing to know that one move looks bad, but that doesn't help figure out which one will look good.
Of course bringing a single not-already-known-to-be-bad move in front as hash move is of course only of limited usefulness. If that move did not work (which is very likely), the known-to-be-bad moves will still be searched as second, third, etc., before you get to moves tht t least stand a chance.
So perhaps it would be better to do a single iteration at d=1 of all the moves, and sort those that have upper-bounds < alpha-150 to the back, but keep static move ordering for the others. A sort of IID not to get the best move, but to weed out the really poor ones. Normally the d=1 iteration would be completely satisfied from hash, of course, at a draft of N-1.