1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Use quiescence search for Probcut

Perform qsearch for the preliminary search in Probcut

Passed STC with sprt[-3..1] bounds:
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 31090 W: 6386 L: 6283 D: 18421
http://tests.stockfishchess.org/tests/view/5aa598ed0ebc59029780ff9f

Passed LTC with sprt[0..4] bounds:
LLR: 2.95 (-2.94,2.94) [0.00,4.00]
Total: 104056 W: 15990 L: 15531 D: 72535
http://tests.stockfishchess.org/tests/view/5aa5b0f30ebc59029780ffa9

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

Bench: 5404567
This commit is contained in:
VoyagerOne 2018-03-13 08:20:20 +01:00 committed by Stéphane Nicolet
parent efe702e9f5
commit b2961aded6

View file

@ -778,15 +778,11 @@ namespace {
pos.do_move(move, st);
// Perform a preliminary search at depth 1 to verify that the move holds.
// We will only do this search if the depth is not 5, thus avoiding two
// searches at depth 1 in a row.
if (depth != 5 * ONE_PLY)
value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, ONE_PLY, !cutNode, true);
// Perform a preliminary qsearch to verify that the move holds
value = -qsearch<NonPV>(pos, ss+1, -rbeta, -rbeta+1);
// If the first search was skipped or was performed and held, perform
// the regular search.
if (depth == 5 * ONE_PLY || value >= rbeta)
// If the qsearch held perform the regular search
if (value >= rbeta)
value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, depth - 4 * ONE_PLY, !cutNode, false);
pos.undo_move(move);