Futility pruning simplification
authorLucas Braesch <lucas.braesch@gmail.com>
Fri, 8 Nov 2013 10:42:22 +0000 (18:42 +0800)
committerMarco Costalba <mcostalba@gmail.com>
Sat, 9 Nov 2013 09:17:27 +0000 (10:17 +0100)
commiteed508b4445057cd26bfb95ab5cd754ac96629fd
tree3131bda57115fb139be598e5fb8df9183b111e74
parent343544f3f7fe780a4231b78646ab2fd61760e294
Futility pruning simplification

1/ eval margin and gains removed:
16bit are now free on TT entries, due to the removal of eval margin. may be useful
in the future :) gains removed: use instead by Value(128). search() and qsearch()
are now consistent in this regard.

2/ futility_margin()
linear formula instead of complex (log(depth), movecount) formula.

3/ unify pre & post futility pruning
pre futility pruning used depth < 7 plies, while post futility pruning used
depth < 4 plies. Now it's always depth < 7.

Tested with fixed number of games both at short TC:
ELO: 0.82 +-2.1 (95%) LOS: 77.3%
Total: 40000 W: 7939 L: 7845 D: 24216

And long TC
ELO: 0.59 +-2.0 (95%) LOS: 71.9%
Total: 40000 W: 6876 L: 6808 D: 26316

bench 7243575
src/evaluate.cpp
src/evaluate.h
src/movepick.h
src/search.cpp
src/search.h
src/tt.cpp
src/tt.h