From: Fabian Fichter Date: Wed, 23 Dec 2020 22:41:52 +0000 (+0100) Subject: Enable pure NNUE for most variants X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=9fe03e393c490e316a4adfc44ee0e175c717243e;p=fairystockfish.git Enable pure NNUE for most variants Since NNUE is faster and better than classical evaluation, use pure NNUE for all variants except 3check. makpong STC ELO: 94.32 +-43.1 (95%) LOS: 100.0% Total: 200 W: 102 L: 49 D: 49 makpong LTC ELO: 96.19 +-59.2 (95%) LOS: 100.0% Total: 100 W: 49 L: 22 D: 29 minixiangqi STC ELO: 75.88 +-34.3 (95%) LOS: 100.0% Total: 200 W: 72 L: 29 D: 99 minixiangqi LTC ELO: 70.44 +-49.4 (95%) LOS: 99.8% Total: 100 W: 36 L: 16 D: 48 racingkings STC ELO: 57.86 +-25.8 (95%) LOS: 100.0% Total: 400 W: 147 L: 81 D: 172 racingkings LTC ELO: 56.07 +-50.4 (95%) LOS: 98.7% Total: 100 W: 35 L: 19 D: 46 losers STC ELO: 63.23 +-65.5 (95%) LOS: 97.5% Total: 100 W: 53 L: 35 D: 12 losers LTC ELO: 31.35 +-65.9 (95%) LOS: 82.8% Total: 100 W: 50 L: 41 D: 9 --- diff --git a/src/evaluate.cpp b/src/evaluate.cpp index 98b2145..6880f69 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -1507,7 +1507,7 @@ Value Eval::evaluate(const Position& pos) { // If there is PSQ imbalance use classical eval, with small probability if it is small Value psq = Value(abs(eg_value(pos.psq_score()))); int r50 = 16 + pos.rule50_count(); - bool pure = pos.capture_the_flag_piece() && pos.checking_permitted(); + bool pure = !pos.check_counting(); bool largePsq = psq * 16 > (NNUEThreshold1 + pos.non_pawn_material() / 64) * r50 && !pure; bool classical = largePsq || (psq > PawnValueMg / 4 && !(pos.this_thread()->nodes & 0xB) && !pure);