1
0
Fork 0

Double extend more often via LMR

Allow for first three moves always a two plies deeper LMR search.

STC:
LLR: 2.96 (-2.94,2.94) <-2.50,0.50>
Total: 206096 W: 51966 L: 52093 D: 102037
Ptnml(0-2): 664, 23817, 54293, 23530, 744
https://tests.stockfishchess.org/tests/view/616f197d40f619782fd4f75a

LTC:
LLR: 2.93 (-2.94,2.94) <-2.50,0.50>
Total: 62384 W: 15567 L: 15492 D: 31325
Ptnml(0-2): 40, 6633, 17777, 6696, 46
https://tests.stockfishchess.org/tests/view/616ffa1b4f0b65a0e231e682

closes https://github.com/official-stockfish/Stockfish/pull/3752

Bench: 6154836
pull/3753/head
Stefan Geschwentner 2021-10-21 09:39:28 +02:00 committed by Stéphane Nicolet
parent 42a895d9c9
commit 8a8640a761
1 changed files with 7 additions and 7 deletions

View File

@ -790,8 +790,8 @@ namespace {
ss->staticEval = eval = evaluate(pos);
// Save static evaluation into transposition table
if(!excludedMove)
tte->save(posKey, VALUE_NONE, ss->ttPv, BOUND_NONE, DEPTH_NONE, MOVE_NONE, eval);
if (!excludedMove)
tte->save(posKey, VALUE_NONE, ss->ttPv, BOUND_NONE, DEPTH_NONE, MOVE_NONE, eval);
}
// Use static evaluation difference to improve quiet move ordering
@ -1210,11 +1210,11 @@ moves_loop: // When in check, search starts here
// In general we want to cap the LMR depth search at newDepth. But if reductions
// are really negative and movecount is low, we allow this move to be searched
// deeper than the first move (this may lead to hidden double extensions).
int deeper = r >= -1 ? 0
: moveCount <= 3 && r <= -3 ? 2
: moveCount <= 5 ? 1
: PvNode && depth > 6 ? 1
: 0;
int deeper = r >= -1 ? 0
: moveCount <= 3 ? 2
: moveCount <= 5 ? 1
: PvNode && depth > 6 ? 1
: 0;
Depth d = std::clamp(newDepth - r, 1, newDepth + deeper);