X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fevaluate.cpp;h=40c41a8667add483ed8f4facd16dfb1e6e755e6b;hb=f193778446acc6e60d7f0f99c6eb01489f89e962;hp=04d41d5f6b0880d569aca2e14fe11811d66e2c54;hpb=9d53129075177cb11b63b43236556051ba60f7dd;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 04d41d5f..40c41a86 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -216,9 +216,8 @@ namespace { // Threshold for lazy and space evaluation constexpr Value LazyThreshold1 = Value(1565); constexpr Value LazyThreshold2 = Value(1102); - constexpr Value LazyThresholdNNUE = Value(1400); constexpr Value SpaceThreshold = Value(11551); - constexpr Value NNUEThreshold1 = Value(682); + constexpr Value NNUEThreshold1 = Value(800); constexpr Value NNUEThreshold2 = Value(176); // KingAttackWeights[PieceType] contains king attack weights by piece type @@ -1120,7 +1119,7 @@ Value Eval::evaluate(const Position& pos) { int scale = 903 + 28 * pos.count() + 28 * pos.non_pawn_material() / 1024; - Value nnue = NNUE::evaluate(pos, true, LazyThresholdNNUE) * scale / 1024; + Value nnue = NNUE::evaluate(pos, true) * scale / 1024; if (pos.is_chess960()) nnue += fix_FRC(pos); @@ -1133,15 +1132,14 @@ Value Eval::evaluate(const Position& pos) { Value psq = Value(abs(eg_value(pos.psq_score()))); int r50 = 16 + pos.rule50_count(); bool largePsq = psq * 16 > (NNUEThreshold1 + pos.non_pawn_material() / 64) * r50; - bool classical = largePsq; // Use classical evaluation for really low piece endgames. // One critical case is the draw for bishop + A/H file pawn vs naked king. bool lowPieceEndgame = pos.non_pawn_material() == BishopValueMg || (pos.non_pawn_material() < 2 * RookValueMg && pos.count() < 2); - v = classical || lowPieceEndgame ? Evaluation(pos).value() - : adjusted_NNUE(); + v = largePsq || lowPieceEndgame ? Evaluation(pos).value() // classical + : adjusted_NNUE(); // NNUE // If the classical eval is small and imbalance large, use NNUE nevertheless. // For the case of opposite colored bishops, switch to NNUE eval with small