Null+Move+Reductions

toc
 * Home * Search * Selectivity * Reductions * Null Move Reductions**


 * Null Move Reductions** 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.

code format="cpp" 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 code //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= =What links here?= include page="Null Move Reductions" component="backlinks" limit="20"
 * Up one level**