Reintroduce depth 2 razoring (with additional margin)
authorTom Vijlbrief <tvijlbrief@gmail.com>
Wed, 28 Feb 2018 12:41:24 +0000 (13:41 +0100)
committerSt├ęphane Nicolet <cassio@free.fr>
Wed, 28 Feb 2018 12:42:32 +0000 (13:42 +0100)
commit94abc2a0cfa262e2e040886394c782af226bc1bd
treee45c292dd2e43622aab8a42a0b6953a1c616b010
parent59d10374ca647feebf9323b21031e47012572fb6
Reintroduce depth 2 razoring (with additional margin)

The first depth 2 margin triggers the verification quiescence search.
This qsearch() result has to be better then the second lower margin,
so we only skip the razoring when the qsearch gives a significant
improvement.

Passed STC:
LLR: 2.95 (-2.94,2.94) [0.00,5.00]
Total: 32133 W: 7395 L: 7101 D: 17637
http://tests.stockfishchess.org/tests/view/5a93198b0ebc590297cc8942

Passed LTC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 17382 W: 3002 L: 2809 D: 11571
http://tests.stockfishchess.org/tests/view/5a93b18c0ebc590297cc89c2

This Elo-gaining version was further simplified following a suggestion
of Marco Costalba:

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 15553 W: 3505 L: 3371 D: 8677
http://tests.stockfishchess.org/tests/view/5a964be90ebc590297cc8cc4

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 13253 W: 2270 L: 2137 D: 8846
http://tests.stockfishchess.org/tests/view/5a9658880ebc590297cc8cca

How to continue after this patch?

Reformating the razoring code (step 7 in search()) to unify the
depth 1 and depth 2 treatements seems quite possible, this could
possibly lead to more simplifications.

Bench: 5765806
src/search.cpp