From: sje@xylos.ma30.bull.com (Steven J. Edwards)
Newsgroups: comp.archives
Subject: [rec.games.chess] New and improved SAN Kit chess source kit available
Followup-To: rec.games.chess,comp.ai,rec.games.programmer
Date: 27 Sep 1992 09:46:04 GMT
Organization: Bull HN, Worldwide Information Systems, Billerica, Mass., USA
Distribution: world
Reply-To: sje@xylos.ma30.bull.com
NNTP-Posting-Host: soda.berkeley.edu
X-Original-Newsgroups: rec.games.chess,comp.ai,rec.games.programmer
X-Original-Date: 25 Sep 92 20:48:38 GMT

Archive-name: auto/rec.games.chess/New-and-improved-SAN-Kit-chess-source-kit-available

A new and improved version of the SAN Kit chess programming C source
toolkit is available via anonymous ftp.  The SAN Kit is designed to
help chess software efforts by providing common routines for move
notation I/O, move generation, move execution, and various useful
position manipulation services.  The kind and helpful administrator of
valkyries.andrew.cmu.edu [128.2.232.4] has placed the compressed tar
archive "san.tar.Z" into the pub/chess/misc directory.  There are
substantial additions to the previous version that include a standard
position notation scheme along with some benchmarking tests.

A main program is included that gives sample calls for the various
routines.  Simple I/O functions are also provided.  A clever
programmer needs only to add a search and an evaluation function to
produce a working chessplaying program.  A programmer that already has
the source to a chessplaying program may improve it further by
including toolkit routines as needed for standardization.

Of course, there is no warranty; use at your own risk.

Acronyms:

SAN: Standard Algebraic Notation.  This is a notational system for
recording chess moves based upon the FIDE Laws of Chess used
worldwide.  It is the same as FAN (Figurine Algebraic Notation) except
that ASCII piece letters are substituted for piece figurines.  The
toolkit produces SAN move output from a simply manipulated internal
structure format.  The toolkit also has an extensive disambiguation
service that translates from imprecise human input into correct SAN.
Persons using piece letter abbreviations in a language other than
English need only change a few lines in the initialization routine.

FEN: Forsyth-Edwards Notation.  While SAN is used for universal move
representation, FEN is used to describe a position.  It is based on
the 19th century Forsyth system used in the United Kingdom with some
extensions of my own for giving extra information about a position.
This extra information includes: the active color, the castling
availability (if any), the en passant target square (if any), the
count of halfmoves since the last irreversible move, and the fullmove
number.  The idea is to be able to accurately communicate position
information among programs and humans.  It is also useful for
recording chessplaying program benchmarks that have been used by
researchers for many years.  Both the Bratko-Kopec and the Win at
Chess benchmarks are included in this release; they are given using
the FEN system.

ICC: Intermachine Chess Communication. This is a standard for linking
various chess software programs together.  It is both a language and a
communication protocol that will allow simplified communication among
chessplaying programs, chess position repositories, chess opening
libraries, and human interface systems.  Using SAN and FEN, the ICC
standard will be both easily readable by humans and machines.  This is
still under development and is not expected to be finished until
sometime next year.  (I am rather busy with work and other tasks, so
this is not the highest priority item on my list.)  I welcome
suggestions from others on its structure and function.  When
completed, it will support totally automated intermachine chessplaying
program competition via network connections or by simple serial links
between computers.  There is even a plan for an automated Tournament
Director!  One of the design requirements is that it should be fairly
easy to integrate ICC routines into existing programs without too much
trouble.  By this time next year, we should be seeing the totally
automated Great Internet Chessplaying Program Tournament of 1993.

 [The above opinions expressed are my own; not necessarily held by others.]
      == Steven J. Edwards           Bull HN Information Systems Inc. ==
      == (508) 294-3484              300 Concord Road         MS 820A ==
      == sje@xylos.ma30.bull.com     Billerica, MA 01821          USA ==
"That Government which Governs the Least, Governs Best." -- Thomas Jefferson