Reverse+Futility+Pruning

toc
 * Home * Search * Selectivity * Pruning * Reverse Futility Pruning**

postpones a extended futility pruning condition applied at [pre]... pre frontier nodes to skip moves inside its move loop if material balance plus gain of the move and safety margin does not improve alpha, ... code format="cpp" int search( int alpha, int beta, ... ) { bool fprune = ...; int margin = ...; for ( all moves ) { if ( fprune && materialBalance + margin + gain(move) <= alpha ) continue; make( move ); score = -search(-beta, -alpha, ...); unmake( move ); ... }  ... } code ... with the "reversed" or negamaxed fail-high condition of a more reliable score minus safety margin greater or equal than beta - after making the move, and calling the child and its static evaluation. Thus, Reverse Futility Pruning relies on the null move observation, and is a generalisation of standing pat at quiescent nodes, or a special case of null move pruning without explicitly making one : code format="cpp" int search( int alpha, int beta, ... ) { int eval = evaluate(...); int margin = ...; if (... && eval - margin >= beta) { return eval - margin; /* fail soft */ ... } code =See also=
 * Reverse Futility Pruning**, (Static Null Move Pruning)
 * AEL-Pruning
 * Futility Pruning
 * Null Move Observation
 * Null Move Pruning
 * Razoring
 * Standing Pat in Quiescence Search

=Forum Posts=

2008 ...

 * [|Toga/Glaurung/Strelka Prunings/Reductions] by Edsel Apostol, CCC, January 31, 2008 » Toga, Glaurung, Strelka, Reductions
 * [|Null move in quiescence search idea from Don Beal, 1986] by Eelco de Groot, CCC, August 17, 2009 » Quiescence Search, Don Beal

2010 ...

 * [|static null move pruning is stockfish] by Tom King, CCC, June 13, 2010 » Stockfish
 * [|Reverse Futility Pruning] by Matthew R. Brades, CCC, December 02, 2011
 * [|mate distance pruning problems and static null move pruning] by Pierre Bokma, CCC, December 04, 2011 » Mate Distance Pruning

2015 ...

 * [|Futile attempts at futility pruning] by Martin Fierz, CCC, March 27, 2016
 * [|Futility prunning] by Daniel Anulliero, CCC, August 11, 2016 » Futility Pruning
 * [|Static null move pruning] by Fernando Tenorio, CCC, December 18, 2016
 * [|Static NULL Move] by thevinenator, OpenChess Forum, December 26, 2016 » CPW-Engine_search
 * [|Futility pruning ?] by Mahmoud Uthman, CCC, March 04, 2017 » Futility Pruning
 * [|increasing futility prunning depth] by Alexandru Mosoi, CCC, April 28, 2017

=References= =What links here?= include page="Reverse Futility Pruning" component="backlinks" limit="40"
 * Up one Level**