Page 3 of 3

Re: PVS, window, and mate

Posted: Sat Aug 24, 2019 11:05 am
by hgm
IMO hard pruning should always be based on a score estimate for the move, and the firm belief that this estimate is so poor that there is no chance that a search of it will produce a score better than alpha. (Where alpha often is the score of a move in the same node that already has been searched.) E.g. bad captures can be pruned on the suspicion that after the exchange the incurred loss will only add to the value of other moves (or to the current evaluation), so that they cannot possibly be best.

If alpha is a mated-in-N score, any score estimate should be better, unless you would be able to predict the move would lead to a faster mate. But the latter is usually not possible. (An exception to this I use in CrazyWa, where I prune 'futile interpositions', i.e. dropping of pieces on an unprotected square to resolve a distant check, as you know the slider will simply capture these to renew the check and recreate the same situation, this time with an extra piece in hand. Even that has the disadvantage that is can underestimate the DTM, but trying to postpone mate as long as possible is a losing strategy anyway. And in Tsume problems it is actually common practice to not count futile interpositions.)

If alpha is a mate-in-N score, there isn't any reason to refrain from pruning moves that do not somehow predictably leed to a faster mate. Worst thing that can happen is that it doesn't always find the fastest mate. But if the pruning is reproducible, it would always be able to find the same mate a full move later, even when the hash table would be cleared, so in the end it will always deliver the checkmate within the promised number of moves.