X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fevaluate.cpp;h=718c7bc035da95f92718e73fe599ee376ff793d7;hb=22b7909809c731aea691184dd7c1a2b02c5946af;hp=8bb42ce170cff47cd945a4a212421676c84e15bd;hpb=5372f81cc81d5be3040db6f2dbfff108c460baf9;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 8bb42ce1..718c7bc0 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -192,6 +192,7 @@ using namespace Trace; namespace { + // Threshold for lazy and space evaluation constexpr Value LazyThreshold1 = Value(3631); constexpr Value LazyThreshold2 = Value(2084); @@ -1099,14 +1100,14 @@ Value Eval::evaluate(const Position& pos) { if (useNNUE && !useClassical) { Value nnue = NNUE::evaluate(pos, true); // NNUE - int scale = 1036 + 22 * pos.non_pawn_material() / 1024; + int scale = 1014 + 21 * pos.non_pawn_material() / 1024; Color stm = pos.side_to_move(); Value optimism = pos.this_thread()->optimism[stm]; Value psq = (stm == WHITE ? 1 : -1) * eg_value(pos.psq_score()); int complexity = 35 * abs(nnue - psq) / 256; - optimism = optimism * (44 + complexity) / 31; - v = (nnue + optimism) * scale / 1024 - optimism; + optimism = optimism * (32 + complexity) / 32; + v = (nnue * scale + optimism * (scale - 846)) / 1024; if (pos.is_chess960()) v += fix_FRC(pos);