 | |
Terra Help
and
Information | | |
egtb's (End Game Table Bases)
Terra will use Nalimovs compressed EGTB's up to 5 men positions
What is egtb's
egtb's or End Game Table Bases are databases with absolutely correct information about who is winning
and how many moves until
mate or if it
s a draw. These tables are created by retrograde analyses, meaning in short that you start from all
possible end positions and
generates all moves backwards. After one step you have all mates in one(if we started from a mate position).
Next step generates all
positions leading to mate in one etc.
The main limiting factor is hard disk space when the number of pieces are increasing. Currently all
5 men positions are solved and some
6 men positions. All 6 men positions including pawns will require more than 1 Terrabyte (yes Terra!)
of harddisk space. I haven't even
tried to think about 7 men tables. When talking of 3, 4, 5 or 6 men positions we mean positions with
that number of pieces including the
kings. The class 2 men positions is of course not interesting. It is positions with only 2 kings on
the board!
From my knowledge, the first who generated egtb's was Ken Thompsson (the creator of Belle). After
him somewhat different schemes
are tried first by Steven J. Edwards and then by Eugene Nalimov. Eugene managed to compress these bases
quite substantially and it's
the Nalimov egtb's that are state of the art right now.
Terra's egtb's
Terra is using the Eugene Nalimov compressed table bases and I have included some of his code
with his permission.
The files can be downloaded from
Robert Hyatt's FTP site
from the TB directory.
One problem to solve is the long access time when using egtb's. We can't call it all the time because
it will kill Terra's performance.
One method (from Hyatt) is to call the egtb only when capturing into a position with at most the number
of pieces that is supported by
the tables in tbpath. It is also wise to not use table bases very deep in the tree.
How to use egtb's
|
Terra.ini
|
Command line
|
Meaning
|
|
tbpath=\path1[, \path2...]
|
identical
|
pointing out the path to where the egtb's are. Multiple paths can be provided, each separated by a
comma.
|
|
egtb=0 or 1
|
egtb on or off
|
on - will start using egtb's pointed out by tbpath. off - will turn this feature off
|
|
tbsize=s[M,K]
|
identical
|
s=buffer size for the tables given in bytes, kilobytes (K) or megabytes (M). Default is 4M.
|
| |
tbtest epd-file
|
will read each epd-position in the file and check it against the tb tables. Two files are created
-
FoundTB.epd with all epd-positions found in a TB and with the TB-score attached
-
NotFoundTB.epd with all the epd-positions that wasn't found in any TB
|
The tbsize value should be set as high as possible. My advice is to use about 15% of the total
memory that you allocate to hash and
egtb tables.
You can start and stop using egtb's with egtb on and off as many times you want and you can change the
tbpath whenever you want
when Terra is not thinking.
Sometimes you have to send the sequence 'egtb off' followed by 'egtb on' in order to make it happen.
Please give your comments in WinBoard Forum or email me. This document was updated 2004-08-02.
|