🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.chess
Article #4138

Gnuchess and the EPD Kit

#4138
From: Steven J. Edwards
Date: Fri, 29 Dec 1995 00:00
68 lines
4339 bytes
The EPD Kit is a set of ANSI C source files that provides support for
EPD (Extended Position Description), some PGN functions (Portable Game
Notation), and endgame lookup table position databases (tablebases).
The EPD Kit files are freely redistributable, as are the tablebase
data.  The sources are specifically designed for ease-of-porting to C
language chessplaying programs.  The kit has been tested on various
platforms and appears to have most of the bugs beaten out of it.

Functions of the EPD Kit have been integrated into Robert Hyatt's
chessplaying program Crafty and into my chessplaying program Spector.
The purpose of this post is to encourage others to consider
integrating the EPD Kit into Gnuchess.  This would immediately add the
following functions to Gnuchess:

1) Numerous EPD import and processing capabilities.  These can be used
for, among other things, running EPD test suites as can be found at
chess.onenet.net in the pub/chess/Tests directory.  This ability,
along with a scoring function built into the EPD Kit, would allow
Gnuchess developers greater ease of automated testing and evaluation.
EPD export functions of the EPD Kit can be used to generate data for
EPD importing programs like Bookup and others.  EPD output from test
suite analysis can be fed into the statistical report generator
program Gastric (currently under development).

2) PGN export capability.  This includes support for the PGN STR
(Seven Tag Roster) to allow the host program to save games in PGN
format.  These can then be imported into just about every major
commercial chessplaying program and chess database.  (PGN import
ability is still on the drawing board, but eventually will be
included.)

3) Tablebase access during search.  This allows a program to play
omnisciently in several dozen different endgame classes from either
side.  Programs using these can do things like announce mate in 30
nearly instanteously for positions covered by the endgame files.
Perhaps more importantly, having tablebases allows the search to spend
a greater proportion of its time on the more complex positions in a
search tree.

4) Autoplay capability via the Duplex program.  Duplex (ANSI C file
duplex.c) runs on just about any Unix system and uses named pipe files
for mediating variable length matches between any two chessplaying
programs which include EPD Kit support.  For Gnuchess, this would make
it easier to test different versions of the program to discover
performance variations.  This has already been done with Crafty and
Spector and now they can fight it out all night long without human
intervention.  (Spector can only manage about 33% against Crafty.)
The Duplex program can run game after game, alternating colors,
detecting draws and checkmates, and keep a record (in PGN, of course)
of all the match games.  A future EPD based mediator program, Argus,
will include all functions covered by Duplex plus many, many more.

5) SAN (Standard Algebraic Notation) support.  This is required anyway
for EPD and PGN, and the functions in the kit can also be used by the
host program to decode human move input and to format computer move
output.  This means that all the old fashioned "e2e4" notation
routines currently in Gnuchess can be dropped forever.

So, integrating the EPD Kit into Gnuchess is a worthwhile activity.
Alas, I don't have the time to do it myself.  However, I'm sure that
there are skilled C programmers available who could do it, and I
invite their comments and contributions.  For those already familiar
with Crafty or Gnuchess, it shouldn't be too difficult.  For those
familiar with both, it should be quite easy.  Since the task has
already been done twice, there shouldn't be too many surprises the
third time around.

-- Steven (sje@mv.mv.com)
Technical Details
Message-ID: <DKBzDz.AFs@mv.mv.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10d71d,945f4243c2cf14df,start
X-Google-Attributes: gid10d71d,public
X-Google-Thread: 110df2,945f4243c2cf14df,start
X-Google-Attributes: gid110df2,public
From: sje@mv.mv.com (Steven J. Edwards)
Subject: Gnuchess and the EPD Kit
Date: 1995/12/29
Message-ID: <DKBzDz.AFs@mv.mv.com>
X-Deja-AN: 123052043
x-nntp-posting-host: mv.mv.com
organization: MV Communications, Inc.
newsgroups: gnu.chess,rec.games.chess.computer