Remove explicit moveCount pruning
authorJoost VandeVondele <Joost.VandeVondele@gmail.com>
Sat, 9 Nov 2019 05:56:18 +0000 (06:56 +0100)
committerStéphane Nicolet <cassio@free.fr>
Tue, 12 Nov 2019 00:27:06 +0000 (01:27 +0100)
commit44b6697f19ed45a6fb3f542acc83fc5d7111f375
treeae6a0992db1b24d5d90ec108029c1a1c84b8c88a
parent9b8b259388f15d9f669cfc526a2bb7c5a5b1ee71
Remove explicit moveCount pruning

The removed lines approximately duplicate equivalent logic in the movePicker.
Adjust the futility_move_count to componsate for some difference
(the movePicker prunes one iteration of the move loop later).

Passed STC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 8114 W: 1810 L: 1663 D: 4641
http://tests.stockfishchess.org/tests/view/5dc6afe60ebc5902562bd318

Passed LTC:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 89956 W: 14473 L: 14460 D: 61023
http://tests.stockfishchess.org/tests/view/5dc6bdcf0ebc5902562bd3c0

Closes https://github.com/official-stockfish/Stockfish/pull/2407

Bench: 4256440

---------------------

How to continue from there?

It would be interesting to see if we can extract some Elo gain
from the new futility_move_count formula, for instance by somehow
incorporating the final -1 in the 5 constant, or adding a linear
term to the quadratics...

```
   futility_move_count = (5 + depth * depth) * (1 + improving) / 2 - 1
```
src/search.cpp