I also added some algorithms how the concept could be used in chess engines. Obviously it is a very complex topic and some points are not discussed in detail:
- * definition of critical squares
* non-blocked pawn positions
* etc.
Just briefly my personal thoughts: Pawn endgames are a topic very weakly understood by chess engines, the increased risk of zugzwang positions makes it hard for them to apply any sensible pruning, still a very deep search is required to get a proper feedback on the actual outcome. Indeed Transposition tables prove very valuable. Anyway, at the point of deciding whether it is wise to simplify to a certain pawn endgame or not, the positions usually do not allow a >20ply search like would be necessary to solve fine #70 for example. So I think some further research on this approach that can solve certain positions at ply 1 would definitely help the endgame play of computer chess engines.