#31
My reading of
stockfishchess.org/blog/2020/introducing-nnue-evaluation/
where it says
"Both the NNUE and the classical evaluations are available, and can be used to assign a value to a position that is later used in alpha-beta (PVS) search to find the best move. "
is that they are saying that at the leaf nodes you can specify whether the NNUE or the classical evaluations are used, and then the interior nodes are evaluated with the alpha/beta algorithm. That algorithm gives the same answer as minimax applied to the same tree with leaf nodes already scored.
I've not read the stockfish code to see if, assuming NNUE has been turned on, stockfish ever applies the NN to interior nodes.
I would not be surprised if it did. The actual way these engines work is quite complex; they can do things like incrementally deepening the tree, and/or an initial eval of candidate positions to order moves for later search, and other things that make our naive model of how it works incorrect.
Does stockfish with NNUE use Monte Carlo (MCST) or Predictor + Upper Confidence Bound tree search (PUCT)? Either of these? Neither?
Compare with: github.com/LeelaChessZero/lc0/wiki/Technical-Explanation-of-Leela-Chess-Zero
Can anyone who has read the code please chime in?
My reading of
stockfishchess.org/blog/2020/introducing-nnue-evaluation/
where it says
"Both the NNUE and the classical evaluations are available, and can be used to assign a value to a position that is later used in alpha-beta (PVS) search to find the best move. "
is that they are saying that at the leaf nodes you can specify whether the NNUE or the classical evaluations are used, and then the interior nodes are evaluated with the alpha/beta algorithm. That algorithm gives the same answer as minimax applied to the same tree with leaf nodes already scored.
I've not read the stockfish code to see if, assuming NNUE has been turned on, stockfish ever applies the NN to interior nodes.
I would not be surprised if it did. The actual way these engines work is quite complex; they can do things like incrementally deepening the tree, and/or an initial eval of candidate positions to order moves for later search, and other things that make our naive model of how it works incorrect.
Does stockfish with NNUE use Monte Carlo (MCST) or Predictor + Upper Confidence Bound tree search (PUCT)? Either of these? Neither?
Compare with: github.com/LeelaChessZero/lc0/wiki/Technical-Explanation-of-Leela-Chess-Zero
Can anyone who has read the code please chime in?