Terra Help and Information

bullet1 Help!

bullet2 egtb's (End Game Table Bases)

Terra will use Nalimovs compressed EGTB's up to 5 men positions

bullet3 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.

bullet3 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.

bullet3 How to use egtb's


Command line
tbpath=\path1[, \path2...]
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
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.