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.
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.
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.
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.
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.
Table of Contents
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 ofPositions 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.Positions
Notations
Flipping and Mirroring
See Also
Piece Recognition
Publications
Forum Posts
1980 ...
1990 ...
Re: number of moves in position by Leonid, CCC, September 21, 1999
2000 ...
2010 ...
2015 ...
External Links
References
What links here?
Up one Level