Article View: gnu.chess
Article #4138Gnuchess and the EPD Kit
From: Steven J. Edwards
Date: Fri, 29 Dec 1995 00:00
Date: Fri, 29 Dec 1995 00:00
68 lines
4339 bytes
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-mailShow 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