User Tools

Site Tools


chess:programming:null_move_pruning

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.

Null Move Pruning

chess/programming/null_move_pruning.txt · Last modified: 2022/01/06 16:56 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki