Difference between revisions of "Peasant"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * Peasant''' FILE:Unbekannter Meister 18-19 Jh Feiernde Bauern.jpg|border|right|thumb| Celebrating Peasants <ref>[http://commons.wikimed...")
Line 58: Line 58:
<references />
<references />
'''[[Engines|Up one Level]]'''
'''[[Engines|Up one Level]]'''

Latest revision as of 00:28, 7 November 2019

Home * Engines * Peasant

Celebrating Peasants [1]

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 [2], or simply because of evaluation functions used were not intended for those endings.


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:

10*MAT + 5*PP - PRO + K1 + K2 + R


  • 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

Via Campesina from Wikipedia
List of peasant revolts from Wikipedia


  1. Celebrating Peasants, artist unknown, 18th or 19th century, Duesseldorfer Auktionshaus, Wikimedia Commons
  2. Larry Harris (1977). The heuristic search: An alternative to the alpha-beta minimax procedure. Chess Skill in Man and Machine
  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"

Up one Level