mirror of
https://github.com/sockspls/badfish
synced 2025-05-02 09:39:36 +00:00
Shallow search to verify probcut
Perform a preliminary shallow search to verify a probcut before doing the normal "depth - 4 plies" search. STC: LLR: 4.73 (-2.94,2.94) [0.00,5.00] Total: 36281 W: 8221 L: 7830 D: 20230 http://tests.stockfishchess.org/tests/view/5a921cb90ebc590297cc87f6 LTC: LLR: 2.97 (-2.94,2.94) [0.00,5.00] Total: 22907 W: 3954 L: 3738 D: 15215 http://tests.stockfishchess.org/tests/view/5a92672b0ebc590297cc8814 Happy to see something from Ethereal work for Stockfish :) Bench: 5882274
This commit is contained in:
parent
7a03450bd9
commit
71cc01c2ef
1 changed files with 12 additions and 1 deletions
|
@ -742,7 +742,18 @@ namespace {
|
||||||
assert(depth >= 5 * ONE_PLY);
|
assert(depth >= 5 * ONE_PLY);
|
||||||
|
|
||||||
pos.do_move(move, st);
|
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);
|
||||||
|
|
||||||
|
// If the first search was skipped or was performed and held, perform
|
||||||
|
// the regular search.
|
||||||
|
if (depth == 5 * ONE_PLY || value >= rbeta)
|
||||||
value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, depth - 4 * ONE_PLY, !cutNode, false);
|
value = -search<NonPV>(pos, ss+1, -rbeta, -rbeta+1, depth - 4 * ONE_PLY, !cutNode, false);
|
||||||
|
|
||||||
pos.undo_move(move);
|
pos.undo_move(move);
|
||||||
if (value >= rbeta)
|
if (value >= rbeta)
|
||||||
return value;
|
return value;
|
||||||
|
|
Loading…
Add table
Reference in a new issue