====== Chess - Programming - Null Move Pruning ====== Allow the opponent to make two consecutive moves and search the resulting position to a fairly shallow depth. * If the score is still above beta, our position must be very good, so we immediately fail high. NMP is carried out after the transposition table probe and before move generation, so getting a cutoff here saves us a lot of time. * The heuristic assumes the so-called **null move observation** - there exists some move in the position better than the null move. * This is not true when the player to move is in Zugzwang, so we should disable NMP when the risk of zugzwang is high. * Most programs disable NMP in the endgame, though some opt for the risky but potentially most potent) method of allowing NMP whenever any piece other than king or pawn remains on the board. ---- [[Chess:Programming:Null Move Pruning|Null Move Pruning]]