lucasart/Stockfish — pull request #4 by lucasart (2013-11-07 00:30:09+00:00)
Title: futility pruning simplification

0 ELO (big) simplification:

* remove eval margin, and use the 16bit freed by eval margin on TT entries to story 48 bit keys instead of 32.
* remove gains statistics. Use instead Value(128), just as in the qsearch().
* simplify futility_margin formula:a linear formula performs just as well (if not better than) the current complicated formula with log(depth) and movecount dependance. Removing the movecount dependance allows further simplification: we can remove `ss->futilityMoveCount`.
* consistency between pre futility pruning (what you call value based pruning) and post futility pruning (what you call static null move pruning): instead of using child_depth < 4 in post-futility and parent_depth < 16 in pre-futility, use child_depth < 7 everywhere. 7 is because the FutilityMargins[] formula was already capped at depth = 7, so it made no sense to use it deeper than that.

PS: there is still some room for tuning the max futility depth (7 plies) and the slope of the linear formula futility_margins().