Well, I have not obtained a winning result yet, but I got 48% score vs pure NNUE, which looked serious enough not to post it on April the 1st.
The following setup has been used:
- adding NNUE evaluation from Toga III to Rodent
- NNUE eval is done at the leaves (no speedup associated with make/unmake) but eval hashtable is used
- using best Stockfish net
- returning final score as follows:
- Code:
-
return (EvalRodent(...) * rodentEvalPercentage / 100) + (EvalNNUE(...) * nnueEvalPercentage / 100)
- nnueEvalPercentage is clearly higher than rodentEvalPercentage and both values are Texel-tuned
It has a chance to work because NNUE eval is so much slower than normal one that slowdown caused by using it alongside NNUE can be compensated by returning better score. And this interpolated score can be better despite pure NNUE beating Rodent eval 3 times out of 4. How can it happen? I suspect that NNUE eval is more precise when the game is relatively close to equality and classical eval might be more precise in positions with large imbalances. If this is the case then using some non-linear formula might be enough for beating pure NNUE. Also some speed can be regained by creating a simpler eval that is meant to serve as "glasses for NNUE".