Computer Chess Club Archives


Search

Terms

Messages

Subject: The "At Least" tablebase file format

Author: Dann Corbit

Date: 02:14:16 01/04/02


Suppose that we want to make a tablebase file that is not quite so good as a
Nalimov tablebase file, but it still gives us a lot of information and is very
compact.  Let's consider this winning position
[D]r6r/8/8/3k4/8/3K4/6R1/4QR2 w - - acn 2125; acs 0; bm Qe4+; ce 32760; dm 4; pv
Qe4+ Kc5 Rc2+ Kb5 Rb1+ Ka5 Ra2#;

Now, as anyone knows, the queen being a sliding piece with a lot of available
options, any of these positions will result in the same sort of direct mate in
4, because we will arrive at the same position, or a mirror of it:
r6r/8/8/3k4/8/3KQ3/6R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/8/3K4/4Q1R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/8/3K4/6R1/4QR2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/5Q2/3K4/6R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/6Q1/3K4/6R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/7Q/3K4/6R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/1Q6/3K4/6R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/3k4/Q7/3K4/6R1/5R2 w - - ce 32760; pv Qe4+;
r6r/8/8/4k3/8/3QK3/1R6/2R5 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/8/4K3/1R1Q4/2R5 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/8/4K3/1R6/2RQ4 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/6Q1/4K3/1R6/2R5 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/7Q/4K3/1R6/2R5 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/2Q5/4K3/1R6/2R5 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/1Q6/4K3/1R6/2R5 w - - ce 32760; pv Qd4+;
r6r/8/8/4k3/Q7/4K3/1R6/2R5 w - - ce 32760; pv Qd4+;
5r2/6r1/3kq3/8/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
5r2/4q1r1/3k4/8/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
4qr2/6r1/3k4/8/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
5r2/6r1/3k4/5q2/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
5r2/6r1/3k4/6q1/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
5r2/6r1/3k4/7q/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
5r2/6r1/3k4/1q6/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
5r2/6r1/3k4/q7/3K4/8/8/R6R b - - ce 32760; pv Qe5+;
2r5/1r6/3qk3/8/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2r5/1r1q4/4k3/8/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2rq4/1r6/4k3/8/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2r5/1r6/4k3/6q1/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2r5/1r6/4k3/7q/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2r5/1r6/4k3/2q5/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2r5/1r6/4k3/1q6/4K3/8/8/R6R b - - ce 32760; pv Qd5+;
2r5/1r6/4k3/q7/4K3/8/8/R6R b - - ce 32760; pv Qd5+;

Now, if we take these positions, and lexically sort them, we can store the
minimum one into a database and be able to generate all the others from it.

Then, if we have some position and want to see if it is stored in the database,
we could simply perform the same transformation and lookup the lexically
smallest entry to see if it exists.  We know that for any analysis our database
contains, the best move will be at least as good as the value stored (there
might be a better move, but the selected move will be "At Least" as good as the
presented analysis.

As you can see, this would also allow partial database files, and it will allow
their use before they are completed.

The data can therefore be remarkably compressed in some instances.  I have no
figures for averages, as I have not carefully studied it yet.  But in the
position above, a single EPD string maps to 32 answers.  Therefore the net
storage needed for that particular position is 1/32 times the size of a binary
EPD record.

Here is some information on the idea, which came from Les Fernandez:
ftp://cap.connx.com/pub/les/Least/

A very nice thing about this sort of database is that it is fairly easy to
produce partial files with lots of pieces in them.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.