Some time ago I asked why do we rely on result of search to reduced depth. Now it seems so bloody obvious. Both quiescence search and null move heuristic use the assumption that usually making move is better than doing nothing. We need to somehow obtain estimated score for doing nothing (or null move, stand pat, lower bound - if you like). The only difference between QS and NM is the way in which lower bound value is obtained:
a) in QS we use static evaluation because we are at least at the horizon depth so mistake from static evaluation is not so dangerous,
b) in NM we use dynamic evaluation (search to reduced depth) because we are usually far away from horizon depth so mistake from static evaluation is very dangerous.
Hope this helped to understand reasons why QS and NM are coded as they are ;)
Null move explanation
It's good to try to develop intuitions for these things. The way I think about it, the NM heuristic is a simple check to see if the last move is worth trying to refute or not. If a move represents a threat at all, you should be able to gain some benefit by moving again, and the benefit should be fairly obvious (hence the reduced depth). If a move doesn't pass this test, it is almost always true that by playing some move the opponent will be able to keep things favorable, so we just skip the search.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement