# A question about draw detection in chess engines

Let us look at this position.

``````[FEN "4k3/8/8/p1p1p1p1/P1P1P1P1/8/8/4K3 w - - 0 1"]
``````

This is obviously a draw. Analyzing this with the Stockfish engine says that it is a balanced position. However, Stockfish does not recognize that it is a draw.

Slightly rearranging the pawns, we receive a similar position that is an obvious draw.

``````[FEN "4k3/3p4/p1pPp3/P1P1P1p1/6P1/8/8/4K3 w - - 0 1"]
``````

Here, Stockfish says that white has an advantage of +0.7.

Where does this miscalculation come from? I understand that draws in these positions cannot be detected from tablebases, as there are still too many pieces on the board. It seems that these special positions are called Pawn Rams or Blockages.

The chess programming article about Blockage Detection provides code for detecting blockages, but I do not understand how it works.

What are the underlying factors that make draw detection so hard from a computational point of view?

• Are you interested in theoretical draws or only dead positions? Feb 9 at 18:12
• @BrianMcCutchon What is the difference? Feb 9 at 18:16
• A theoretical draw is a draw if both players play perfectly. For example, the starting position might be a theoretical draw (we don't know yet, and maybe never will). A dead position is a draw no matter what you play. Your examples are dead positions. Feb 9 at 18:22
• You might be interested: chess.stackexchange.com/questions/32270/… Feb 11 at 1:58
• I do believe the question is answerable, but it is very broad, since there are four questions asked and some of them aren't related to the others (e.g. 4 and 3) Feb 11 at 1:58

I actually did the experiment and will answer now. Three main factors go into the evaluation (as king safety doesn't play the slightest role): material, space, and movability.

The effect of space is rather high at +1.4.

``````[FEN "4k3/p1p1p1p1/P1P1P1P1/8/8/8/8/4K3 w - - 0 1"]
``````

Any useless doubled pawn is about +0.7, giving +4.2.

``````[FEN "4k3/p1p1p1p1/P1P1P1P1/P1P1P1P1/8/8/8/4K3 w - - 0 1"]
``````

Don't underestimate agility, we're already at +5.9.

``````[FEN "4k3/p1p1p1p1/P1P1P1P1/8/8/8/P1P1P1P1/4K3 w - - 0 1"]
``````

You can give White a useless bishop and scratch the 10.0 but I stop here, although it would be a fun challenge for the highest evaluation in a dead drawn position But +99.0 seems to be Lichess/Stockfish cutoff. :-)

• You could also replace a pawn for another bishop (a promoted one) if you wanted to further pump up the eval Feb 12 at 21:04
• @pulsar512b - Been there, done that, Lichess doesn't even complain against 32 bishops :-) Likewise, a walled in Q or R works wonders. An engine is hopelessly optimistic: Maybe it can break out somewhere over the horizon... Feb 13 at 10:25