mirror of
https://github.com/sockspls/badfish
synced 2025-07-11 19:49:14 +00:00
Remove VALUE_KNOWN_WIN.
After removing classic evaluation VALUE_KNOWN_WIN is not anymore returned explicit evaluation. So remove and replace it with VALUE_TB_WIN_IN_MAX_PLY. Measurement on my big bench (bench 16 1 16 pos1000.fen) verifies that at least with current net the calculated evaluation lies always in the open interval (-VALUE_KNOWN_WIN, VALUE_KNOWN_WIN). So i consider this a non-functional change. But to be safe i tested this also at LTC as requested by Stephane Nicolet. STC: https://tests.stockfishchess.org/tests/view/64f9db40eaf01be8259a6ed5 LLR: 2.93 (-2.94,2.94) <-1.75,0.25> Total: 455296 W: 115981 L: 116217 D: 223098 Ptnml(0-2): 1415, 50835, 123420, 50527, 1451 LTC: https://tests.stockfishchess.org/tests/view/650bfd867ca0d3f7bbf25feb LLR: 2.95 (-2.94,2.94) <-1.75,0.25> Total: 35826 W: 9170 L: 8973 D: 17683 Ptnml(0-2): 12, 3523, 10645, 3722, 11 closes https://github.com/official-stockfish/Stockfish/pull/4792 Bench: 1603079
This commit is contained in:
parent
95fe2b9a9d
commit
154b8d3ecb
2 changed files with 5 additions and 6 deletions
|
@ -778,7 +778,7 @@ namespace {
|
|||
&& depth < 9
|
||||
&& eval - futility_margin(depth, cutNode && !ss->ttHit, improving) - (ss-1)->statScore / 306 >= beta
|
||||
&& eval >= beta
|
||||
&& eval < 24923) // larger than VALUE_KNOWN_WIN, but smaller than TB wins
|
||||
&& eval < 24923) // smaller than TB wins
|
||||
return eval;
|
||||
|
||||
// Step 9. Null move search with verification search (~35 Elo)
|
||||
|
@ -908,8 +908,8 @@ moves_loop: // When in check, search starts here
|
|||
&& (tte->bound() & BOUND_LOWER)
|
||||
&& tte->depth() >= depth - 4
|
||||
&& ttValue >= probCutBeta
|
||||
&& abs(ttValue) <= VALUE_KNOWN_WIN
|
||||
&& abs(beta) <= VALUE_KNOWN_WIN)
|
||||
&& abs(ttValue) < VALUE_TB_WIN_IN_MAX_PLY
|
||||
&& abs(beta) < VALUE_TB_WIN_IN_MAX_PLY)
|
||||
return probCutBeta;
|
||||
|
||||
const PieceToHistory* contHist[] = { (ss-1)->continuationHistory, (ss-2)->continuationHistory,
|
||||
|
@ -1050,7 +1050,7 @@ moves_loop: // When in check, search starts here
|
|||
&& move == ttMove
|
||||
&& !excludedMove // Avoid recursive singular search
|
||||
/* && ttValue != VALUE_NONE Already implicit in the next condition */
|
||||
&& abs(ttValue) < VALUE_KNOWN_WIN
|
||||
&& abs(ttValue) < VALUE_TB_WIN_IN_MAX_PLY
|
||||
&& (tte->bound() & BOUND_LOWER)
|
||||
&& tte->depth() >= depth - 3)
|
||||
{
|
||||
|
@ -1541,7 +1541,7 @@ moves_loop: // When in check, search starts here
|
|||
// Futility pruning and moveCount pruning (~10 Elo)
|
||||
if ( !givesCheck
|
||||
&& to_sq(move) != prevSq
|
||||
&& futilityBase > -VALUE_KNOWN_WIN
|
||||
&& futilityBase > VALUE_TB_LOSS_IN_MAX_PLY
|
||||
&& type_of(move) != PROMOTION)
|
||||
{
|
||||
if (moveCount > 2)
|
||||
|
|
|
@ -161,7 +161,6 @@ enum Bound {
|
|||
enum Value : int {
|
||||
VALUE_ZERO = 0,
|
||||
VALUE_DRAW = 0,
|
||||
VALUE_KNOWN_WIN = 10000,
|
||||
VALUE_MATE = 32000,
|
||||
VALUE_INFINITE = 32001,
|
||||
VALUE_NONE = 32002,
|
||||
|
|
Loading…
Add table
Reference in a new issue