Fail-High Reductions

From Chessprogramming wiki
Jump to: navigation, search

Home * Search * Selectivity * Reductions * Fail-High Reductions

Fail-high reductions (FHR),
as proposed and examined by Rainer Feldmann [1], and implemented in the program Zugzwang, are based on the Null Move Observation (NMO) - similar to the Null Move Heuristic (NMH). The idea is to search to shallower depth at positions that are seemingly quiet and where the side to move has established a substantial advantage, according to a static evaluation. Apart from the evaluation function, the heuristic requires an additional function that returns a value indicating threats against the side to move and therefor the quietness of a position.


FHR is applied at expected Fail-high or Cut-Nodes recursively inside a NegaScout-framework. Feldmann's implementation did no re-search with the original depth, if the shallow search didn't confirm the fail high. While NMH relies on a dynamic search, but cuts the whole subtree - FHR uses a static threat detection. FHR is not as vulnerable as NMH in situations, where the NMO fails - namely in zugzwang.

eval, threat := evaluate(...);
if ( eval - threat >= beta && alpha == beta - 1) 
  reduce depth by one

See also


Forum Posts


  1. Rainer Feldmann (1997). Fail-High Reductions. Advances in Computer Chess 8, available as pdf from CiteSeerX

Up one level