![]() ![]() It is conceptually local to the node, but may be defined globally, and incrementally updated from node to node as the tree is traversed. The board state is associated with each node of the game tree, representing a position arrived at by a move, whether that move was played over the board, or generated as part of the program's search. The board state may also contain secondary derived information like which pieces attack a square for squares containing pieces, which spaces are attacked or guarded by that piece which pieces are pinned and other convenient or temporary state. Without this information, models may repeat the position despite having a winning advantage, resulting in an excessive amount of draws. To determine this rule, a complete history of the game from the last irreversible action (capture, pawn movement, or castling) needs to be maintained, and so, is generally tracked in separate data structures. Whether either player is permanently disqualified to castle, both kingside and queenside.īoard representation typically does not include the status of the threefold repetition draw rule.For example, if the previous 80 half-moves passed without a capture or a pawn move, the fifty-move rule will kick in after another twenty half-moves. ![]() The name of this is sometimes a bit confusing, as it is 50 moves by each player, and therefore 100 half-moves, or ply. The location of each piece on the board.the position "state", must contain the following elements: Most modern implementations use a more elaborate but more efficient bit array approach called bitboards which map bits of a 64-bit word or double word to squares of the board.Ī full description of a chess position, i.e. Execution efficiency and memory footprint are the primary factors in choosing a board representation secondary considerations are effort required to code, test and debug the application.Įarly programs used piece lists and square lists, both array based. Chess programs often utilize more than one board representation at different times, for efficiency. Several different board representations exist. search) as well as maintaining the state of the game during play. Board representation is fundamental to all aspects of a chess program including move generation, the evaluation function, and making and unmaking moves (i.e. Board representation in computer chess is a data structure in a chess program representing the position on the chessboard and associated game state. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |