Changes

Jump to: navigation, search

Endgame Tablebases

329 bytes added, 02:01, 12 February 2019
m
no edit summary
=Indexing=
Every position is assigned to an a unique index to specify the location of the information stored about it. The main purpose of indexing is to locate and read information (from databases) such as distance to mate for a given position based on its index.  There are two main aims when generating the index number. The easier the algorithm to generate the index from any given position, the faster will be the probing of the tablebase as well as the generation of it. But the second aim is to get a relatively small range of index-numbers, to keep the size of the file as small as possible.
The most straight forward way would be to for every piece on the board use 6 bit (1-64 squares)
}
</pre>
This Almost all work on this field is to reduce index spaces and reduce data sizes (e.g., by compressing). The above indexing can be optimized optimised in several ways. Remove redundant symmetrical indexes:* A chess board can be rotated and mirrored (if pawns are on the board only a vertical reflection is possible).* For pieces of the same type, different arrangements can be left away.Remove illegal indexes:
* Pieces may not stand on the same square.
* For pieces of the same type, different arrangements can be left away.
* The side to move may not give check.
* The distance between the two Kings must be greater than one.

Navigation menu