mirror of
https://github.com/sockspls/badfish
synced 2025-05-02 01:29:36 +00:00
Smooth out doDeeperSearch
Adjust threshold based on the difference between newDepth and LMR depth. With more reduction, bigger fail-high is required in order to perform the deeper search. STC: LLR: 2.96 (-2.94,2.94) <0.00,2.50> Total: 93576 W: 24133 L: 23758 D: 45685 Ptnml(0-2): 260, 10493, 24935, 10812, 288 https://tests.stockfishchess.org/tests/view/61cbb5cee68b2a714b6eaf09 LTC: LLR: 2.94 (-2.94,2.94) <0.50,3.00> Total: 109280 W: 28198 L: 27754 D: 53328 Ptnml(0-2): 60, 11225, 31637, 11647, 71 https://tests.stockfishchess.org/tests/view/61cc03fee68b2a714b6ec091 closes https://github.com/official-stockfish/Stockfish/pull/3877 Bench: 4464723
This commit is contained in:
parent
1066119083
commit
061f98a9e3
1 changed files with 3 additions and 3 deletions
|
@ -550,7 +550,7 @@ namespace {
|
||||||
if ( ss->ply > 10
|
if ( ss->ply > 10
|
||||||
&& search_explosion(thisThread) == MUST_CALM_DOWN
|
&& search_explosion(thisThread) == MUST_CALM_DOWN
|
||||||
&& depth > (ss-1)->depth)
|
&& depth > (ss-1)->depth)
|
||||||
depth = (ss-1)->depth;
|
depth = (ss-1)->depth;
|
||||||
|
|
||||||
constexpr bool PvNode = nodeType != NonPV;
|
constexpr bool PvNode = nodeType != NonPV;
|
||||||
constexpr bool rootNode = nodeType == Root;
|
constexpr bool rootNode = nodeType == Root;
|
||||||
|
@ -1212,7 +1212,7 @@ moves_loop: // When in check, search starts here
|
||||||
|
|
||||||
// If the son is reduced and fails high it will be re-searched at full depth
|
// If the son is reduced and fails high it will be re-searched at full depth
|
||||||
doFullDepthSearch = value > alpha && d < newDepth;
|
doFullDepthSearch = value > alpha && d < newDepth;
|
||||||
doDeeperSearch = value > alpha + 88;
|
doDeeperSearch = value > (alpha + 62 + 20 * (newDepth - d));
|
||||||
didLMR = true;
|
didLMR = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1280,7 +1280,7 @@ moves_loop: // When in check, search starts here
|
||||||
rm.pv.push_back(*m);
|
rm.pv.push_back(*m);
|
||||||
|
|
||||||
// We record how often the best move has been changed in each iteration.
|
// We record how often the best move has been changed in each iteration.
|
||||||
// This information is used for time management and LMR. In MultiPV mode,
|
// This information is used for time management. In MultiPV mode,
|
||||||
// we must take care to only do this for the first PV line.
|
// we must take care to only do this for the first PV line.
|
||||||
if ( moveCount > 1
|
if ( moveCount > 1
|
||||||
&& !thisThread->pvIdx)
|
&& !thisThread->pvIdx)
|
||||||
|
|
Loading…
Add table
Reference in a new issue