X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fevaluate.cpp;h=c37dd98ad1c257a892930ca42385a0a2642fb5f0;hb=0ad9b51deaaa1f2a8273ed064fbf6425cfbbe4f2;hp=7f0ea4bc6040c4d38d0958fe0b3e61eeafe5a5de;hpb=a6d9a302b867a76c3df5b658de6206e77b649a4d;p=stockfish diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 7f0ea4bc..c37dd98a 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -143,7 +143,6 @@ Value Eval::evaluate(const Position& pos) { assert(!pos.checkers()); Value v; - Value psq = pos.psq_eg_stm(); int nnueComplexity; int npm = pos.non_pawn_material() / 64; @@ -153,8 +152,14 @@ Value Eval::evaluate(const Position& pos) { Value nnue = NNUE::evaluate(pos, true, &nnueComplexity); + int material = 67 * (pos.count(stm) - pos.count(~stm)) + + 395 * (pos.count(stm) - pos.count(~stm)) + + 288 * (pos.count(stm) - pos.count(~stm)) + + 630 * (pos.count(stm) - pos.count(~stm)) + + 857 * (pos.count(stm) - pos.count(~stm)); + // Blend optimism with nnue complexity and (semi)classical complexity - optimism += optimism * (nnueComplexity + abs(psq - nnue)) / 512; + optimism += optimism * (nnueComplexity + abs(material - nnue)) / 512; v = ( nnue * (915 + npm + 9 * pos.count()) + optimism * (154 + npm + pos.count())) / 1024;