Null Move Reductions

Home * Search * Selectivity * Reductions * Null Move Reductions

Null Move Reductions, not to confused with the widespread Null Move Pruning, work similar to Feldmann's Fail-High Reductions, but use a Null Move Search rather than static evaluation and reduces by a amount of four plies rather than one. Omid David and Nathan S. Netanyahu introduced so called Extended Null-Move Reductions with an adaptive R based on depth.

If a null move fail-high occurs - opposed to Null Move Pruning - the search is reduced by four plies, rather than pruned. Thus, Null Move Reductions are therefor less vulnerable to Zugzwang and might even applied in (late) endings.

if ( nullMoveAllowed && ...) { R = depth > 6 ? 4 : 3;  makeNullMove score = -zwSearch(1-beta, depth-R-1) // -AlphaBeta (0-beta, 1-beta, depth-R-1) unmakeNullMove; if (score >= beta ) { depth -= 4; // reduce search if ( depth <= 0 ) return Evaluate; // Quiescence } } // continue search For zwSearch, see Zero Window Search inside the Principal Variation Search.

=See also=
 * Double Null Move
 * Fail-High Reductions
 * Null Move Observation
 * Null Move Pruning
 * Standing Pat in Quiescence Search

=Forum Posts=
 * Extended Null-Move Reductions by Alvaro Cardoso, CCC, August 20, 2010
 * Null move alterative in endgames by Aleks Peshkov, CCC, November 16, 2011
 * thoughts on null-move reduction by Youri Matiounine, CCC, June 14, 2015 » Null Move Pruning

=References=

Up one level