mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Adjust best value in main search depending on depth
This patch does similar thing to how it's done for qsearch - in case of fail high adjust result to lower value. Difference is that it is done only for non-pv nodes and it's depth dependent - so lower depth entries will have bigger adjustment and higher depth entries will have smaller adjustment. Passed STC: https://tests.stockfishchess.org/tests/view/65c3c0cbc865510db0283b21 LLR: 2.96 (-2.94,2.94) <0.00,2.00> Total: 112032 W: 29142 L: 28705 D: 54185 Ptnml(0-2): 479, 13152, 28326, 13571, 488 Passed LTC: https://tests.stockfishchess.org/tests/view/65c52e62c865510db02855d5 LLR: 2.96 (-2.94,2.94) <0.50,2.50> Total: 132480 W: 33457 L: 32936 D: 66087 Ptnml(0-2): 67, 14697, 36222, 15156, 98 closes https://github.com/official-stockfish/Stockfish/pull/5047 Bench: 1168241
This commit is contained in:
parent
9068fdc57b
commit
91a4cea437
1 changed files with 5 additions and 0 deletions
|
@ -1293,6 +1293,11 @@ moves_loop: // When in check, search starts here
|
|||
|
||||
assert(moveCount || !ss->inCheck || excludedMove || !MoveList<LEGAL>(pos).size());
|
||||
|
||||
// Adjust best value for fail high cases at non-pv nodes
|
||||
if (!PvNode && bestValue >= beta && std::abs(bestValue) < VALUE_TB_WIN_IN_MAX_PLY &&
|
||||
std::abs(beta) < VALUE_TB_WIN_IN_MAX_PLY && std::abs(alpha) < VALUE_TB_WIN_IN_MAX_PLY)
|
||||
bestValue = (bestValue * (depth + 2) + beta) / (depth + 3);
|
||||
|
||||
if (!moveCount)
|
||||
bestValue = excludedMove ? alpha : ss->inCheck ? mated_in(ss->ply) : VALUE_DRAW;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue