1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 09:13:08 +00:00

Correctly track down pv even in fail-high case

Currently we update (track up) the pv even in the fail high case.
However most times in such cases the pv in the ply below remains unset
because there we have value == alpha and so finally we see truncated
pv's (=just one move) in fail high cases.
Of course tracking down these pv's (+sending them to the gui) comes at a
certian cost, but no-regression tests passed:

STC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 16300 W: 3556 L: 3424 D: 9320
http://tests.stockfishchess.org/tests/view/5b9b73500ebc592cf275ea92

LTC:
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 202411 W: 32734 L: 32897 D: 136780
http://tests.stockfishchess.org/tests/view/5b9baed10ebc592cf275ef6d

N.B.: Digging also into qsearch was tried in another version but seemed
not to pass the tests. This means that we don't always will get a pv
until the very tips.

No functional change
This commit is contained in:
Guenther Demetz 2018-09-17 08:42:58 +02:00 committed by Stéphane Nicolet
parent 0370077c37
commit cb0111d3db

View file

@ -1125,6 +1125,8 @@ moves_loop: // When in check, search starts from here
break;
}
}
else if (PvNode && !rootNode && value == alpha)
update_pv(ss->pv, move, (ss+1)->pv);
}
if (move != bestMove)