https://abrok.eu/stockfish/
Author: cj5716
Date: Fri Feb 9 19:06:25 2024 +0100
Timestamp: 1707501985
Remove simple eval
With the recent introduction of the dual NNUE, the
need for simple eval is no longer there.
Passed STC:
https://tests.stockfishchess.org/tests/ ... 0db0281652
LLR: 2.96 (-2.94,2.94) <-1.75,0.25>
Total: 85312 W: 22009 L: 21837 D: 41466 Elo +0.70
Ptnml(0-2): 334, 10155, 21567, 10205, 395
Passed LTC:
https://tests.stockfishchess.org/tests/ ... 0db0282810
LLR: 2.95 (-2.94,2.94) <-1.75,0.25>
Total: 49956 W: 12596 L: 12402 D: 24958 Elo +1.35
Ptnml(0-2): 28, 5553, 13624, 5743, 30
I decided to look at the patch and I see that the comment is misleading.
I see the following code
int simpleEval = simple_eval(pos, stm);
bool smallNet = std::abs(simpleEval) > 1050;
Value nnue = smallNet ? NNUE::evaluate<NNUE::Small>(pos, true, &nnueComplexity)
: NNUE::evaluate<NNUE::Big>(pos, true, &nnueComplexity);
I understand that the meaning of the code is that stockfish is using simple evaluation to decide if to use small NNUE or big NNUE
I understand that stockfish does not use simpleeval as the evaluation of the position but the claim of removing simpleeval is wrong because stockfish still calculates it.
The correct comment about the patch should be "using simpleeval only as a condition for the choice of the net and never as an evaluation function".
I understand that earlier in some cases stockfish used simpleeval as the evaluation function.
misleading comments about simple evaluation in stockfish
Moderator: Ras
-
- Posts: 10769
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel