lichess.org
Donate

Fairy Stockfish 14+ NNUE vs Fairy Stockfish 14+ HCE

Which engine is better? Can someone explain me differences between them?
Stockfish - and most chess engines - have two major parts: evaluation and search. Search determines which lines are investigated and which are not. Evaluation determines whether the engine considers a position good or bad, and between two positions, which is better.

Evaluation is difficult. For example, a position where White is up a pawn but has terrible King safety may be worse than a position where material is equal. For a long time, engines used "hand-crafted evaluation" (HCE). This method assigned points to things like king safety, doubled pawns, piece activity, pins, etc. HCE methods were extensively tested; if a change resulted in stronger play over thousands and thousands of games, it was incorporated.

Modern top engines have mostly done away with HCE in most positions. Instead, they use efficiently updatable neural networks (NNUE). These neural networks are machine-learning algorithms that have been trained on millions of positions. Instead of humans hand-crafting an evaluation function, a neural net learns to evaluate positions. NNUE lead to an explosion in engine strength in stockfish. In almost any case, NNUE evaluation in stockfish will be considerably stronger than HCE evaluation.

The good news for *you* is that, unless you are running a computer vs computer tournament, solving puzzles specifically designed to be resistant to engine analysis, or doing super grandmaster level in-depth opening theory prep, the difference is irrelevant - any modern engine from the last ten years is far stronger than needed to do basic game analysis.
Fairy Stockfish is much weaker than Stockfish in chess. F-SF14 is no stronger than SF11, and it does not work on many devices. That is because SF sacrificed its universality since SF11 in exchange for searching depth and system friendliness, and F-SF worked more and more on universality. You should always use SF for chess analysis.

F-SF is also particularly inaccurate at certain situation analysis too, for variants other than chess (and probably makruk). F-SF HCE is although very strong itself, but does not always give good centipawn-based situation estimation, even makes mistake at which side is winning.

If you want to make F-SF analysis meaningful (for example, analyzing horde chess or xiangqi), you should always use the corresponding correct NNUE. F-SF NNUE is not only stronger but also much accurate in cp-based estimation.
@corvusmellori said in #2:
> The good news for *you* is that, unless you are running a computer vs computer tournament, solving puzzles specifically designed to be resistant to engine analysis, or doing super grandmaster level in-depth opening theory prep, the difference is irrelevant - any modern engine from the last ten years is far stronger than needed to do basic game analysis.

An important point: F-SF HCE is quite bad at average level Xiangqi (and probably other variants) human-human game analysis.

Since it is specially developed for chess-like variants, it is still strong enough to beat most human players until GM. But F-SF HCE sometimes-but-not-rarely make mistakes calculating cp rating for human games. F-SF NNUE will make almost no mistakes unless "solving puzzles specifically designed to be resistant to engine analysis".