Chrome рдПрдХреНрд╕рдЯреЗрдВрд╢рди

How Stockfish Evaluates Chess Positions: A┬аDeep Dive

November 26, 2025┬╖9 min read
+3.2
eval

What is┬аStockfish?

Stockfish is┬аthe┬аworldтАЩs strongest open-source chess engine. ItтАЩs used by┬аprofessionals, amateurs, and┬аanalysis platforms (including chess.rodeo) worldwide. But┬аhow does it┬аactually evaluate chess positions?

The┬аBasics: How Chess Engines Think

Chess engines donтАЩt тАЬunderstandтАЭ chess like humans┬аdo. Instead, they:

  1. Generate possible moves┬атАФ List all legal moves in┬аa┬аposition
  2. Search ahead┬атАФ Explore move sequences (variations)
  3. Evaluate positions┬атАФ Assign numerical scores to┬аpositions
  4. Select the┬аbest move┬атАФ Choose the┬аmove leading to┬аthe┬аbest evaluation

LetтАЩs dive into each component.

Search: Looking Ahead

Alpha-Beta Search

Stockfish uses alpha-beta pruning, an┬аoptimized version of┬аminimax search:

  • Minimax: Assume both players play optimally
  • Alpha-Beta: Skip variations that canтАЩt affect the┬аfinal decision

This allows Stockfish to┬аsearch much deeper than checking every possible move.

Depth and┬аSpeed

At┬аdepth 20, Stockfish might examine billions of┬аpositions. Modern chess engines on┬аfast hardware can search 50+ million positions per┬аsecond.

Selective Search

Not┬аall moves are equal. Stockfish spends more time on:

  • Captures and┬аchecks
  • Moves that changed evaluation significantly
  • Promising variations from previous searches

Evaluation: What Makes a┬аPosition Good?

Traditional Evaluation (Classical)

Older Stockfish versions used hand-crafted evaluation with components like:

Material Count

Pawn = 100
Knight = 320
Bishop = 330
Rook = 500
Queen = 900

Positional Factors

  • Piece activity and┬аmobility
  • Pawn structure (doubled, isolated, passed pawns)
  • King safety
  • Control of┬аkey squares
  • Piece coordination

Game Phase

Different factors matter in┬аopening vs. endgame. A┬аcentralized king is┬аterrible in┬аthe┬аmiddlegame but┬аexcellent in┬аthe┬аendgame.

NNUE: Neural Network Evaluation

Modern Stockfish (including version 17) uses NNUE (Efficiently Updatable Neural Network):

What is┬аNNUE?

A┬аspecialized neural network trained on┬аmillions of┬аpositions, designed to┬аbe┬аextremely fast to┬аevaluate.

How it┬аWorks

  1. The┬аboard position is┬аconverted to┬аinput features
  2. These feed through network layers
  3. The┬аnetwork outputs an┬аevaluation score

Why NNUE is┬аBetter

  • Learns patterns too complex to┬аhand-code
  • Picks up┬аsubtle positional factors humans identified but┬аcouldnтАЩt quantify
  • Updates efficiently (only recalculates changed parts of┬аthe┬аposition)

Training

NNUE is┬аtrained on:

  • Self-play games between strong engine versions
  • Evaluations from very deep searches
  • Millions of┬аpositions with known outcomes

Understanding Stockfish Output

Centipawn Evaluation

Stockfish reports evaluations in┬аcentipawns:

  • +1.00 = White is┬аahead by┬а1 pawn worth
  • -2.50 = Black is┬аahead by┬а2.5 pawns worth
  • 0.00 = Roughly equal

Mate Scores

When mate is┬аfound:

  • M5 = Mate in┬а5 moves
  • -M3 = Getting mated in┬а3 moves

Principal Variation (PV)

The┬аsequence of┬аmoves Stockfish considers best for┬аboth sides:

+1.25  Nf3 d5 e3 Nf6 d4 e6 Bd3 c5

Depth and┬аAccuracy

What Depth Means

Depth = number of┬аhalf-moves (plies) the┬аengine searches:

  • Depth 10 = 5 moves for┬аeach side
  • Depth 20 = 10 moves for┬аeach side

Higher Depth = More Accurate

At┬аhigher depths, Stockfish:

  • Finds deeper tactics
  • Evaluates positions more accurately
  • Discovers long-term strategic factors

Diminishing Returns

Most of┬аthe┬аbenefit comes from the┬аfirst 15-20┬аply. Going from depth 20 to┬а40 rarely changes the┬аevaluation dramatically except in┬аvery tactical positions.

Why Stockfish IsnтАЩt Perfect

Horizon Effect

Sometimes the┬аbest move requires seeing further than the┬аsearch depth:

  • A┬аtactic works but┬аloses to┬аa┬аcounter-tactic at┬аdepth┬а25
  • Depth 20 search thinks itтАЩs good

Fortress Positions

Stockfish might evaluate a┬аdrawn fortress as┬аwinning because it┬аcanтАЩt тАЬseeтАЭ that progress is┬аimpossible.

Positional Complexity

Some positions require understanding beyond pattern recognition┬атАФ plans that unfold over 20+ moves in┬аnon-forcing sequences.

How chess.rodeo Uses Stockfish

Server-Side Analysis

We┬аrun Stockfish 17 on┬аour servers, so┬аyou get:

  • Fast analysis without using your deviceтАЩs resources
  • Consistent depth (15+ for┬аall positions)
  • Higher depth (20+) for┬аcached positions from Lichess database

Multi-PV Analysis

We┬аanalyze the┬аtop 3 moves in┬аeach position, showing you alternatives, not┬аjust the┬аsingle best move.

Move Classification

Based on┬аcentipawn loss, each move is┬аclassified:

ClassificationCentipawn Loss
Best/Brilliant0-10
Good10-30
Inaccuracy30-100
Mistake100-300
Blunder300+

Tips for┬аUsing Engine Analysis

DonтАЩt Just Look at┬аthe┬аBest Move

Understand WHY itтАЩs best. What threat does it┬аcreate? What does it┬аprevent?

Consider Multiple Lines

The┬аsecond and┬аthird-best moves are often perfectly playable. Understanding why theyтАЩre slightly worse is┬аvaluable.

Context Matters

A┬атАЬblunderтАЭ in┬аa┬аlost position might be┬аthe┬аpractical choice. The┬аengineтАЩs best move might also lose, just more slowly.

Use Appropriate Depth

For┬аmost analysis, depth 15-20 is┬аsufficient. Very deep analysis (30+) is┬аonly necessary for┬аtheoretical novelties or┬аpositions with long tactical sequences.

Conclusion

Stockfish combines sophisticated search algorithms with neural network evaluation to┬аplay near-perfect chess. Understanding how it┬аworks helps you use analysis tools more effectively.

When you analyze on┬аchess.rodeo, youтАЩre harnessing the┬аsame technology used by┬аworld championship contenders┬атАФ completely free.

Start analyzing and┬аsee Stockfish in┬аaction on┬аyour games.

рд╣рдо рдЖрдкрдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдХреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЖрд╡рд╢реНрдпрдХ рдХреБрдХреАрдЬрд╝ рд╣рдореЗрд╢рд╛ рд╕рдХреНрд░рд┐рдп рд░рд╣рддреА рд╣реИрдВред рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдХреБрдХреАрдЬрд╝ рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЖрдк рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдХрд╛ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реА рдЧреЛрдкрдиреАрдпрддрд╛ рдиреАрддрд┐ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ