New easy move implementation
authormstembera <MissingEmail@email>
Thu, 12 Mar 2015 19:49:30 +0000 (19:49 +0000)
committerJoona Kiiski <joona.kiiski@gmail.com>
Thu, 12 Mar 2015 19:49:30 +0000 (19:49 +0000)
commit062ca91db5d9f4b86f0218666b50d3f9456b0ba2
tree6913cad718fe5e71fee0ef17fec50a40aca4e04e
parent13c11f40480ec97316bd4da3a53787cc871037ea
New easy move implementation

Spend much less time in positions where one move is much better than all other alternatives.
We carry forward pv stability information from the previous search to identify such positions.
It's based on my old InstaMove idea but with two significant improvements.

1) Much better instability detection inside the search itself.
2) When it's time to make a FastMove we no longer make it instantly but still spend at least 10% of normal time verifying it.

Credit to Gull for the inspiration.
BIG thanks to Gary because this would not work without accurate PV!

20K
ELO: 8.22 +-3.0 (95%) LOS: 100.0%
Total: 20000 W: 4203 L: 3730 D: 12067

STC
LLR: 2.96 (-2.94,2.94) [-1.50,4.50]
Total: 23266 W: 4662 L: 4492 D: 14112

LTC
LLR: 2.95 (-2.94,2.94) [0.00,6.00]
Total: 12470 W: 2091 L: 1931 D: 8448

Resolves #283
src/search.cpp
src/timeman.h