1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-07-13 04:29:15 +00:00
BadFish/src
Stéphane Nicolet f193778446 Do not use lazy evaluation inside NNUE
This simplification patch implements two changes:

1. it simplifies away the so-called "lazy" path in the NNUE evaluation internals,
   where we trusted the psqt head alone to avoid the costly "positional" head in
   some cases;
2. it raises a little bit the NNUEThreshold1 in evaluate.cpp (from 682 to 800),
   which increases the limit where we switched from NNUE eval to Classical eval.

Both effects increase the number of positional evaluations done by our new net
architecture, but the results of our tests below seem to indicate that the loss
of speed will be compensated by the gain of eval quality.

STC:
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 26280 W: 2244 L: 2137 D: 21899
Ptnml(0-2): 72, 1755, 9405, 1810, 98
https://tests.stockfishchess.org/tests/view/60ae73f112066fd299795a51

LTC:
LLR: 2.95 (-2.94,2.94) <-2.50,0.50>
Total: 20592 W: 750 L: 677 D: 19165
Ptnml(0-2): 9, 614, 8980, 681, 12
https://tests.stockfishchess.org/tests/view/60ae88e812066fd299795a82

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

Bench: 3817907
2021-05-27 01:21:56 +02:00
..
incbin Embed default net, and simplify using non-default nets 2020-08-29 21:56:00 +02:00
nnue Do not use lazy evaluation inside NNUE 2021-05-27 01:21:56 +02:00
syzygy Small cleanups (march 2021) 2021-03-24 17:11:06 +01:00
benchmark.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
bitbase.cpp Small cleanups (march 2021) 2021-03-24 17:11:06 +01:00
bitboard.cpp Small clean-up 2021-03-31 08:12:25 +02:00
bitboard.h Small clean-up 2021-03-31 08:12:25 +02:00
endgame.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
endgame.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
evaluate.cpp Do not use lazy evaluation inside NNUE 2021-05-27 01:21:56 +02:00
evaluate.h Do not use lazy evaluation inside NNUE 2021-05-27 01:21:56 +02:00
main.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
Makefile New NNUE architecture and net 2021-05-18 18:06:23 +02:00
material.cpp Small cleanups (march 2021) 2021-03-24 17:11:06 +01:00
material.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
misc.cpp E2K: added support for MCST Elbrus 2000 CPU architecture 2021-05-11 19:45:14 +02:00
misc.h Cleanup and simplify NNUE code. 2021-04-25 13:16:30 +02:00
movegen.cpp Use if instead of goto 2021-05-19 19:38:44 +02:00
movegen.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
movepick.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
movepick.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
pawns.cpp Small cleanups (march 2021) 2021-03-24 17:11:06 +01:00
pawns.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
position.cpp Small clean-ups 2021-05-17 10:47:14 +02:00
position.h Compact position structures 2021-05-22 00:26:00 +02:00
psqt.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
psqt.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
search.cpp Less reduction for capture/promotions. 2021-05-26 17:32:54 +02:00
search.h Replace distanceFromPv with a better logic 2021-04-06 18:23:35 +02:00
thread.cpp Small cleanups (march 2021) 2021-03-24 17:11:06 +01:00
thread.h Simplify reduction for consecutive fails 2021-05-22 19:02:36 +02:00
thread_win32_osx.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
timeman.cpp Remove Tempo 2021-05-19 20:34:37 +02:00
timeman.h Remove Tempo 2021-05-19 20:34:37 +02:00
tt.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
tt.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
tune.cpp Remove BoolConditions from tuning code 2021-05-15 09:40:40 +02:00
tune.h Remove BoolConditions from tuning code 2021-05-15 09:40:40 +02:00
types.h Remove Tempo 2021-05-19 20:34:37 +02:00
uci.cpp Exporting the currently loaded network file 2021-05-11 19:36:11 +02:00
uci.h Add Stockfish namespace. 2021-03-07 14:26:54 +01:00
ucioption.cpp Add Stockfish namespace. 2021-03-07 14:26:54 +01:00