Peasant

Home * Engines * Peasant



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

=Description= 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.

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. 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.
 * 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

Evaluator
The static Evaluator is:


 *  10*MAT + 5*PP - PRO + K 1 + K 2 + R 

with
 * 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
 * K 1 ≡ 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
 * K 2 ≡ 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=
 * Chunker
 * PawnKing

=Publications=
 * Monroe Newborn (1977). PEASANT: An endgame program for kings and pawns. Chess Skill in Man and Machine
 * Monroe Newborn, Robert Hyatt (2014). Computer Chess Endgame Play with Pawns: Then and Now. ICGA Journal, Vol. 37, No. 4 » Crafty

=External Links=
 * Peasant from Wikipedia
 * Peasant (disambiguation) from Wikipedia
 * Peasant movement from Wikipedia
 * Peasants' Party from Wikipedia
 * Via Campesina from Wikipedia


 * Peasants' Revolt from Wikipedia
 * List of peasant revolts from Wikipedia

=References= Up one Level