- mwyoung wrote:
- If you are using Stockfish 15.1 for your analysis or games. Make sure you are using the latest DEV of Stockfish of January 4 2023 or later.
Stockfish has improved much since then. This maybe in part to a Stockfish bug that has been found and fixed. Full testing results will come.
Maybe the chess engine programmers can explain this bug. I can only measure gains.
Author: mstembera
Date: Wed Jan 4 09:37:02 2023 +0100
Timestamp: 1672821422
Fix stack initialization
This fixes a bug where on line 278 the Stack::staticEvals are
initialized to 0. However VALUE_NONE is defined to be 32002 so
this is a bug in master. It is probably due to the calculation
of improvement, where staticEval prior to rootPos can be accessed.
On the basis of the explanation above and what I know of SF ….
There’s a variable that hold the evaluation “improvement” in going from one ply to the next (it can be negative of course).
This works fine in the tree because the evaluations are serially saved and always available. There may not be a correct evaluation below the root, so to use this incorrect eval at the root would yield a nonsense improvement variable.
To detect it (no root eval) the SF method is to test for VALUE_NONE, if found, it will set improvement to zero.
The bug was that 0 eval was being initialised below the root, and this broke the test.