Chess Position

Home * Chess * Position


 * Marcel Duchamp

The Chess Position describes how pieces are placed on the chessboard, as printed as chess diagram, image or photograph from a game of chess. In 1996 Shirish Chinchalkar determined 10 46 as upper bound for the number of reachable chess positions. The maximum number of moves per chess position seems 218.

Of course, the information of any arbitrary chess position which occurs inside the game of chess, might be determined from a certain initial starting position and a sequence of moves (half-moves), which leads to this position. Anyway, an efficient data structure for a chess position, which is incrementally updated during game play and search is essential for a chess playing program.

=Specifying a Chess Position= Except the determination of three fold repetitions, which requires the whole move record, at least from the last irreversible move (half-move) played, the chess position should keep track of various informations related to the position also for efficiency reasons. Another issue is to make chess positions persistent with a maximum of information required, but without the whole game history, as specified by the Forsyth-Edwards Notation or Extended Position Description.

Beside piece placement, as considered by the board representation, the side to move is essential, which might take only one bit inside an appropriate data structure for a chess position. Additionally, the Castling ability for both sides, as reflected by the castling rights and a possible en passant target square (or file) is needed to further completely specify the position, as well as the halfmove clock to cover the fifty-move rule.

=Summary= A chess positions consists of
 * Piece placement on the Chessboard as considered by the Board Representation
 * Side to move
 * Castling Rights
 * En passant target square
 * Halfmove Clock

=Positions inside the Search= In the context of Search, a position is the node inside a search tree. To completely determine the position with respect to repetitions, one additionally needs a move list or any other appropriate data structure, to keep up to 100 reversible half-moves, likely associated with Zobrist keys of the intermediate positions.
 * Incremental Updates
 * Copy-Make

=Positions=
 * Initial Position
 * Test-Positions

=Notations=
 * Extended Position Description (EPD)
 * Forsyth-Edwards Notation (FEN)
 * Forsyth-Edwards Expanded Notation (FEEN)

=Flipping and Mirroring=
 * Color Flipping
 * Diagonal Mirroring
 * Horizontal Mirroring
 * Vertical Flipping

=See Also=
 * Board Representation
 * Chess Game
 * Chess Maxima
 * Chessboard
 * Graphics Programming
 * Moves
 * Node
 * Pieces
 * Piece Recognition


 * Transposition
 * User Interface

=Publications=
 * Jürg Nievergelt (1977). Information content of chess positions. ACM SIGART Newsletter 62, pp. 13-14. Reprinted as: Information content of chess positions: Implications for game-specific knowledge of chess players, pp. 283-289. Machine Intelligence 12 (eds. Jean Hayes Michie, Donald Michie, E. Tyugu). Clarendon Press, Oxford, 1991. ISBN 0-19-853823-5.
 * Bernhard Balkenhol (1994). Data Compression in Encoding Chess Positions. ICCA Journal, Vol. 17, No. 3, zipped ps
 * Shirish Chinchalkar (1996). An Upper Bound for the Number of Reachable Positions. ICCA Journal, Vol. 19, No. 3
 * Alex de Voogt (2002). Reproducing board game positions: Western Chess and African Bao. Swiss Journal of Psychology, Vol 61, No. 4

=Forum Posts=

1980 ...

 * compact representation of a position by Bill Vaughan, net.chess, January 5, 1982
 * compact representation of chess positions by Tom Truscott, net.chess, January 7, 1982 » Zobrist Hashing

1990 ...

 * entropy of chess positions by John Tromp, rgc, April 15, 1991
 * estimated number of chesspositions by Vincent Diepeveen, rgcc, October 27, 1995
 * number of moves in position by Leonid, CCC, September 19, 1999
 * Re: number of moves in position by Leonid, CCC, September 21, 1999

2000 ...

 * Min # of bits needed to store a chess position by James Robertson, CCC, April 20, 2000
 * Minimum bits to encode a chess position by Ken Payson, The Math Forum @ Drexel University, February 8, 2002
 * Making positions in eps by Renze Steenhuisen, CCC, October 27, 2003 » Fen2eps

2010 ...

 * allowing invalid positions by Eric Langedijk, CCC, August 13, 2013
 * Counting endgame positions by Kirill Kryukov, CCC, January 08, 2014
 * Total possible chess positions? by Matthew R. Brades, CCC, March 26, 2014 » Chess Maxima

2015 ...

 * Binary FEN by J. Wesley Cleveland, CCC, July 24, 2015
 * Max moves in a position by Laurie Tunnicliffe, CCC, October 22, 2016 » Chess Maxima, Move List

=External Links=
 * Programmer Puzzle: Encoding a chess board state throughout a game from Stack Overflow
 * Chess Position Trainer by Stefan Renzewitz and Gregory Prentice
 * NULP in chess endgames by Kirill Kryukov

=References=

Up one Level