Home * Engines * Peasant

a pawn endgame chess program written by Monroe Newborn as research project started in 1973 at Technion, Haifa, Israel, where the author had a visiting appointment. The goal was to examine whether the poor endgame play of the chess programs of that time was due to a basic weakness of minimax as suggested by Larry Harris [1], or simply because of evaluation functions used were not intended for those endings.
Celebrating Peasants [2]


Supported by Israel Gold at Technion, and later by International Master Leon Piasetski at McGill University, Peasant was implemented as conventional fixed depth alpha-beta searcher with evaluation and pruning heuristics tailored for pawn endings, using an 8x8 board array as internal representation. Moves were sorted so that captures and promotions came first - the killer heuristic was used to further improve the effectiveness of alpha-beta. The ONEPAWN algorithm by Newborn and Piasetski evaluated KPK positions, TWOPAWN by Piasetski, KPPK. Peasant employed forward pruning of many king moves near the tips, reaching a search depth of around 10 ply with 3 or 4 pawns. Written in Fortran IV for the IBM 360/370, it searched around 18,000 terminal positions per minute on a 370/158 [3].

In his 1978 B.Sc. thesis on co-ordinate squares in pawn endings, reprinted 1988 in David Levy's Computer Chess Compendium, Kenneth W. Church mentions the Lasker-Reichhelm Position (Fine #70) and Newborn's assessment solving it with Peasant would require 25,000 hours, and further gives a description of Peasant in a leading footnote [4]. Following list of terminal node conditions and static evaluation features are based on Church's note.

Terminal Nodes

A position is defined to be a terminal node if one of the following conditions holds:
  1. The maximum preset depth is met
  2. One side has one or two pawns and the other has none (special static evaluator).
  3. There is a queen on the board and the last move was not a promotion.
  4. There is a passed pawn which cannot be caught by the enemy king and can outrace all enemy pawns with a move to spare.
  5. The depth is equal to that of a node where a win can be guaranteed. (This appears to be a special case of alpha-beta.)
  6. The same position has occurred previously at the same depth in the tree [5].
  7. Stalemate
  8. The position is equivalent to a parent position which occurs four plies higher in the tree.
  9. The winning side allows draw by repetition


The static Evaluator is:

  • MAT ≡ the difference between the number of white pieces and the number of black pieces
  • PP ≡ the difference between the number of white passed pawns and the number of black passed pawns
  • PRO ≡ the number of moves the most advanced white pawn must take before promotion minus the number of moves for the most advanced black pawn
  • K1 ≡ factor measuring king distance from the pawns: five points deducted for every space that separates the king from the "center of gravity" of the pawns
  • K2 ≡ three points if the king has opposition
  • R ≡ ten points times the rank of each pawn that is passed and cannot be stopped by the defending king

Modified Rules

The rules of chess were modified in a way, that only promotions to a queen were possible, and to avoid later queen moves, the side to move had a win if one queen ahead and a draw if both sides had same number of queens (> 0), and no queening actually possible.

See also


External Links


  1. ^ Larry Harris (1977). The heuristic search: An alternative to the alpha-beta minimax procedure. Chess Skill in Man and Machine
  2. ^ Celebrating Peasants, artist unknown, 18th or 19th century, Duesseldorfer Auktionshaus, Wikimedia Commons
  3. ^ Monroe Newborn (1977). PEASANT: An endgame program for kings and pawns. Chess Skill in Man and Machine
  4. ^ Kenneth W. Church (1978). Co-ordinate Squares: A Solution to Many Chess Pawn Endgames. B.Sc. thesis, Massachusetts Institute of Technology, advisor Richard Greenblatt, reprinted 1988 in Computer Chess Compendium
  5. ^ Kenneth W. Church in his Co-ordinate Squares footnote on Peasant: "most serious design error is that rule six is too weak. A better condition is to terminate if the position has been reached in the tree search at any depth. Especially in these endgames, this is a very serious error"

What links here?

Up one Level