1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-03 18:19:35 +00:00

Streamline null search reduction formula

Although a (little) functional change, we have no ELO change
but formula it is now more clear.

After 13019 games at 30"+0.05
Mod vs Orig 2075 - 2088 - 8856 ELO 0 (+- 3.4)

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2012-07-05 11:48:17 +01:00
parent 18505f1fc4
commit 7d2530873e

View file

@ -708,16 +708,16 @@ namespace {
ss->currentMove = MOVE_NULL; ss->currentMove = MOVE_NULL;
// Null move dynamic reduction based on depth // Null move dynamic reduction based on depth
int R = 3 + (depth >= 5 * ONE_PLY ? depth / 8 : 0); Depth R = 3 * ONE_PLY + depth / 4;
// Null move dynamic reduction based on value // Null move dynamic reduction based on value
if (refinedValue - PawnValueMidgame > beta) if (refinedValue - PawnValueMidgame > beta)
R++; R += ONE_PLY;
pos.do_null_move<true>(st); pos.do_null_move<true>(st);
(ss+1)->skipNullMove = true; (ss+1)->skipNullMove = true;
nullValue = depth-R*ONE_PLY < ONE_PLY ? -qsearch<NonPV>(pos, ss+1, -beta, -alpha, DEPTH_ZERO) nullValue = depth-R < ONE_PLY ? -qsearch<NonPV>(pos, ss+1, -beta, -alpha, DEPTH_ZERO)
: - search<NonPV>(pos, ss+1, -beta, -alpha, depth-R*ONE_PLY); : - search<NonPV>(pos, ss+1, -beta, -alpha, depth-R);
(ss+1)->skipNullMove = false; (ss+1)->skipNullMove = false;
pos.do_null_move<false>(st); pos.do_null_move<false>(st);
@ -732,7 +732,7 @@ namespace {
// Do verification search at high depths // Do verification search at high depths
ss->skipNullMove = true; ss->skipNullMove = true;
Value v = search<NonPV>(pos, ss, alpha, beta, depth-R*ONE_PLY); Value v = search<NonPV>(pos, ss, alpha, beta, depth-R);
ss->skipNullMove = false; ss->skipNullMove = false;
if (v >= beta) if (v >= beta)