Simplify verification search (#1362)
authorGünther Demetz <guenther.demetz@wuerth-phoenix.com>
Sat, 13 Jan 2018 08:01:23 +0000 (09:01 +0100)
committerMarco Costalba <mcostalba@users.noreply.github.com>
Sat, 13 Jan 2018 08:01:23 +0000 (09:01 +0100)
commit1b6459195c82395d861cddf3f2056ed1c9a3bd5b
tree3fc6db6c2f6ba2fc5641929589c7288765e51bcb
parentaa88261a8f509fdabfe235042de1c1ea7a39a399
Simplify verification search (#1362)

1. avoid recursive call of verification.
   For the interested side to move recursion makes no sense.
   For the other side it could make sense in case of mutual zugzwang,
   but I was not able to figure out any concrete problematic position.
   Allows the removal of 2 local variables.

2. avoid further reduction by removing R += ONE_PLY;

Benchmark with zugzwang-suite (see #1338), max 45 secs per position:
Patch  solves 33 out of 37
Master solves 31 out of 37

STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 76188 W: 13866 L: 13840 D: 48482
http://tests.stockfishchess.org/tests/view/5a5612ed0ebc590297da516c

LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 40479 W: 5247 L: 5152 D: 30080
http://tests.stockfishchess.org/tests/view/5a56f7d30ebc590299e4550e

bench: 5340015
src/search.cpp
src/thread.cpp
src/thread.h