Changes

Jump to: navigation, search

Endgame Tablebases

940 bytes added, 15:41, 21 April 2020
no edit summary
=Purposes=
When a playing [[Chess Game|chess game ]] goes to the [[Endgame|endgame period]] phase, it may complete soon by with the result as a draw or a win/loss. Both human/chess engines can finish the endgame by continuing searching, applying some endgame rules. The game can finish in this way but it is not in a perfect way: it takes much time to make move, use more moves than necessary. Sometimes the winning side may lose the change since the rule 50 moves.
EGTB can help to solve this period. It is a kind of dictionary of all endgame positions which can answer directly or indirectly for a given position:
The main disadvantages of using EGTBs:
* Data too large for downloading and storing
* If use when searching, it may slow down the search* Require a complicated code for probing
=Data=
An EGTB is a set of endgames. Each endgame is a set of positions (they must have the same material). Each position associates with an integer number which informs how far that position is from mating/being mated or converting (depends on the type of its metrics). All numbers of an endgame are simply organized as two arrays of integers (one array for one side/color). In other words, each item in those arrays is an integer and its index on an array is mapped to a unique position.
The array Based on values those integer numbers can answer directly two purposes of the EGTB: for a given position it is a draw or a win/loss position and how far it is from mating/being mated or converting. From those numbers, the best move of a position can be indirectly calculated as below part mentions. Theoretically, we can add more information to each item. However, due to large involving positions, any additional information may make the whole EGTB becomes significantly larger. None of the popular EGTBs store any extra information for each item. Those arrays of an endgame can be stored in files. Typically each array is stored in one file. However, sometimes they can be combined into one file or a few device into more files to be easy to copy or manage. Those files, may be in the form of none or compressed formats. If they are compressed, they are divided and compressed by small blocks thus they don't need to decompress all to extract data of just a few positions.
The size of an endgame depends on:
=Retrieving=
==Probe==
When a chess program (e.g., a chess engine or a chess GUI) works with an EGTB, it needs to retrieve data (integer numbers) for some given chess positions. The process named probe. It is not a search but retrieve data which and has below steps:
* convert a given chess position into an index via indexing algorithms
* access data (typically organized as an integer array) using the index to retrieve the integer of that chess position

Navigation menu