Computer Chess Club Archives




Subject: Steve Edward's Endgame Tablebase generator is now available for WIN95

Author: Mike Byrne

Date: 17:11:49 11/01/97

Steve Edward's Endgame Tablebase generator is now available for WIN95.

README: very brief documentation file for tbgen (tablebase generator)

Revised: 1997.06.04

Comments to the author: (Steven J. Edwards)

This file provides a brief description of the program tbgen (tablebase
generator).  The program is used to generate exhuastive, full
information chess endgame databases that provide instantly located,
perfect evalautions.  The evaluations are stored in the generated
files, one byte per position, with each file containing entries for
each possible (and impossible) position.  The evaluations are of the
forms "mate in N", "lose (get mated) in N", "draw", and "illegal".
Values for the number N (measured in fullmoves, not ply) for mates
range from mate in 1 upto mate in 126 and for losses in 0 (lose in 0
means checkmated) to lose in 125 moves.  Each file is for a given
class (e.g., KBNK) and for a given side to move (e.g., White).  So,
the file KQKR.tbw is for White (with the queen) to move and the the
file KRKN.tbb is for Black (with the knight) to move.

Currently, endgame classes with at least one pawn per color (e.g.,
KPKP) are not supported.  It is hoped that the release of the code
will stimulate work on this and other tablebase topics.

Each run of the program produces one tablebase file pair for an
endgame class.  One of the files is for WTM (White to move, suffix
".tbw") and the other is for BTM (Black to move, suffix ".tbb").
Details of invocation can be found in the source file main.c.

Tablebases produced by this program can be used by a variety of chess
applications, both commercial and research.  The adventurous
experimenter is directed to the publicly distributed chess playing
program Crafty written by Robert Hyatt; the source distribution
includes the files epd.h and epd.c which implement the functions neede
to probe the tablebases.  Hint: look for the function names starting
with "EPDTB".  Also, the Internet newsgroup
often has discussions related to tablebase design, construction, and

To generate the program, put all the source files in a directory and
compile them with your favorite ANSI C compiler.  Example:

    gcc -O2 -o tbgen *.c

To generate the first tablebase, enter:

    tbgen KK . . . .

Then try:

    tbgen KNK . . . .
    tbgen KBK . . . .
    tbgen KRK . . . .
    tbgen KQK . . . .

Then try:

    tbgen KPK . . . .

Then try:

    tbgen KBNK . . . .

See the tbgen source files for further details on various topics
including the significance of the last four command line parameters.

Some miscellaneous files

    depend: list of first order tablebase dependencies
    rdepend: list of fully recursive tablebase dependencies
    genlist: list of one possible order of tablebase generation
    namegen.c: generates TB names and other items (see source)

Have fun!

Addendum  11/01/97:

Mike Byrne ( figured out how to compile for
Win95/NT.  All rights are
maintained by Steven J. Edwards.  No waaranty is implied or given - use
at your
own go risk.  Go for that 32 man database -- (only kidding...   :)   .

This page took 0.03 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

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