If the Fifty-move Rule is implemented correctly, 100 entries should suffice. However, it is not necessary to make that list the same length as the move list of the game, and it may shortened after playing an irreversible move. Since the hash signature list refers positions (nodes) rather than moves (edges), it contains one more element than its corresponding move list, that is even an empty game list and halfmove count zero implies a signature list with one element, the key of the initial position. Along with remembering an index of the last irreversible move ( Halfmove Clock), such a list is handy to recognize two- or threefold repetitions. On the other hand, it is not a big deal to reallocate the list rarely.Ī correspondent array might be used for Zobrist- or BCH signatures. Despite the theoretical maximum length of a chess game of 11797 half moves, as limited by the Fifty-move Rule, 1024 (or even less) halfmoves should practically suffice. When a move was found and played after search, or a move was entered by the opponent player, it is stored under the post incremented index.ĭespite the length of the game may vary, one usually takes a once allocated fixed sized array for a maximum number of half moves to occur in the game, considering MAX_PLY of a deep trailing search. A global game object maintains an index of the root position, initialized with zero after the game starts. The game list keeps moves of the game already played from the initial up to the current root position of the search, plus the current path or variation actually searching.
0 Comments
Leave a Reply. |