diff --git a/AUTHORS b/AUTHORS index b435ff8f..715f83b1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -55,6 +55,7 @@ DiscanX Dominik Schlösser (domschl) double-beep Douglas Matos Gomes (dsmsgms) +Dubslow Eduardo Cáceres (eduherminio) Eelco de Groot (KingDefender) Elvin Liu (solarlight2) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 9061a384..9ed9e8e3 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1100,14 +1100,14 @@ Value Eval::evaluate(const Position& pos) { if (useNNUE && !useClassical) { Value nnue = NNUE::evaluate(pos, true); // NNUE - int scale = 1014 + 21 * pos.non_pawn_material() / 1024; + int scale = 1080 + 110 * pos.non_pawn_material() / 5120; 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; + int complexity = (278 * abs(nnue - psq)) / 256; - optimism = optimism * (32 + complexity) / 32; - v = (nnue * scale + optimism * (scale - 846)) / 1024; + optimism = optimism * (251 + complexity) / 256; + v = (nnue * scale + optimism * (scale - 852)) / 1024; if (pos.is_chess960()) v += fix_FRC(pos);