![]() ![]() ![]() ![]() While chess programmers have developed numerous clever data representation tricks to make their programs go faster, very simple stuff is quite sufficient in many other games. Of these, two (one of which consumes ungodly amounts of memory) are designed to accelerate search through the game tree, while the third is used to speed up move generation.īefore we go any further, a word to the wise: in chess as in any other game, the simplest data structure that will get the job done is usually the one you should use. While we're at it, I will also present three support data structures which, although not absolutely required to make the computer play, are invaluable if you want it to play well. This is due to a combination of ingenuity (i.e., smart people made smart choices very early in the field's history) and necessity (i.e., good data structures were a pre-requisite to everything else, and without these effective techniques, not much would have been achieved.) You may be surprised to notice that, for all intents and purposes, the state of the art in this area has not changed in thirty years. Today, I will discuss in a bit more detail the most fundamental of these building blocks: the internal representation of the game board. Last month, I presented the major building blocks required to write a program to play chess, or any other two-player game of perfect information. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |