# 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? Commented Feb 9, 2021 at 18:12
• @BrianMcCutchon What is the difference? Commented Feb 9, 2021 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. Commented Feb 9, 2021 at 18:22
• You might be interested: chess.stackexchange.com/questions/32270/… Commented Feb 11, 2021 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) Commented Feb 11, 2021 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 Commented Feb 12, 2021 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... Commented Feb 13, 2021 at 10:25