]> git.sesse.net Git - stockfish/commit - src/main.cpp
Remove classical evaluation
authorJoost VandeVondele <Joost.VandeVondele@gmail.com>
Thu, 1 Jun 2023 06:09:07 +0000 (08:09 +0200)
committerJoost VandeVondele <Joost.VandeVondele@gmail.com>
Tue, 11 Jul 2023 20:56:49 +0000 (22:56 +0200)
commitaf110e02ec96cdb46cf84c68252a1da15a902395
treebdd2471e80779f52abd288ada16ec02be1fc2b72
parent6a8767a0d5d9502e6d4de1bef97468b5d6fab80a
Remove classical evaluation

since the introduction of NNUE (first released with Stockfish 12), we
have maintained the classical evaluation as part of SF in frozen form.
The idea that this code could lead to further inputs to the NN or
search did not materialize. Now, after five releases, this PR removes
the classical evaluation from SF. Even though this evaluation is
probably the best of its class, it has become unimportant for the
engine's strength, and there is little need to maintain this
code (roughly 25% of SF) going forward, or to expend resources on
trying to improve its integration in the NNUE eval.

Indeed, it had still a very limited use in the current SF, namely
for the evaluation of positions that are nearly decided based on
material difference, where the speed of the classical evaluation
outweights its inaccuracies. This impact on strength is small,
roughly 2Elo, and probably decreasing in importance as the TC grows.

Potentially, removal of this code could lead to the development of
techniques to have faster, but less accurate NN evaluation,
for certain positions.

STC
https://tests.stockfishchess.org/tests/view/64a320173ee09aa549c52157
Elo: -2.35 ± 1.1 (95%) LOS: 0.0%
Total: 100000 W: 24916 L: 25592 D: 49492
Ptnml(0-2): 287, 12123, 25841, 11477, 272
nElo: -4.62 ± 2.2 (95%) PairsRatio: 0.95

LTC
https://tests.stockfishchess.org/tests/view/64a320293ee09aa549c5215b
 Elo: -1.74 ± 1.0 (95%) LOS: 0.0%
Total: 100000 W: 25010 L: 25512 D: 49478
Ptnml(0-2): 44, 11069, 28270, 10579, 38
nElo: -3.72 ± 2.2 (95%) PairsRatio: 0.96

VLTC SMP
https://tests.stockfishchess.org/tests/view/64a3207c3ee09aa549c52168
 Elo: -1.70 ± 0.9 (95%) LOS: 0.0%
Total: 100000 W: 25673 L: 26162 D: 48165
Ptnml(0-2): 8, 9455, 31569, 8954, 14
nElo: -3.95 ± 2.2 (95%) PairsRatio: 0.95

closes https://github.com/official-stockfish/Stockfish/pull/4674

Bench: 1444646
16 files changed:
src/Makefile
src/benchmark.cpp
src/bitbase.cpp [deleted file]
src/bitboard.h
src/endgame.cpp [deleted file]
src/endgame.h [deleted file]
src/evaluate.cpp
src/main.cpp
src/material.cpp [deleted file]
src/material.h [deleted file]
src/nnue/evaluate_nnue.cpp
src/pawns.cpp [deleted file]
src/pawns.h [deleted file]
src/position.cpp
src/thread.h
src/ucioption.cpp