Hints: responses to common comments about the SAN Kit

Revised: 1994.02.19

*** Anonymous FTP availability (compressed tar archive file)

chess.uoknor.edu, pub/chess/Unix/SAN.tar.Z

raven.alaska.edu, pub/coherent/sources32/SAN.tar.Z

*** E-mail availability (uuencoded compressed tar archive file)

sje@world.std.com (Subject: Send SAN Kit)

*** Why are the revision dates in such a strange format [yyyy.mm.dd]?

The format used is the only common one that collates dates properly under ASCII
sorting.

*** This kit is smaller than expected

This is so one can add your own search, evaluation, and fancy graphical
interface routines.  These are what makes a chessplaying program or other chess
application unique.

*** This kit is larger than expected

Not all of it has to be used it for one's chess software.  For some, the
"sandef.h" file alone will be sufficient for a useful, time-saving start on a
chess software project.  Many of the files need no modification for
integration; some do not even need much inspection as they are called only by
other SAN functions for internal work.  A few, like the enumeration routines in
file "sanenu.c", are used only for testing purposes.

*** What's the difference between executing a move and playing a move?

A good question; fortunately there is a clear answer.  The file "sanmer.c" is
concerned with move execution and retraction while the file "sanmpu.c" is
concerned with move playing and unplaying.  The first case is used for updating
(and downdating) the internal environment for lookahead purposes.  The second
case is for updating the historical environment for moves actually played (or
unplayed) in a game.  Note that there are calls to the first set of routines
(sanmer) in the second set (sanmpu); this lets SANExecute do all of the dirty
work.  The search or other lookahead routines will use the execute/retract
routines directly and the user interface will use the play/unplay routines.

*** How does one go about writing a chessplaying program using the Kit?

The first thing to do is to hit the bookstore or your national chess federation
for computer chess texts.  Some are mentioned in the rec.games.chess newsgroup
FAQ.  Some general AI books may also be of use.  ICCA membership is strongly
recommended for the real tech stuff; see the "ICCA" file in the SAN Kit
documentation directory.

*** Exactly why was this kit written?

Most of it was written long ago as part of an earlier private research project
of the initial author.  The code was revived in response to an interest with
automated intermachine competition.  A considerable difficulty with such
competition is the big difference in notation among programs.  It was rather
disconcerting to see some very major research efforts still using "f3g5" or
even "2435" (or whatever) instead of "Nfxg5+".  The idea is to get the machine
to do the work, so it was decided to help current and new programs to use the
same representation as the (human) FIDE/USCF/_Laws of Chess_ algebraic
standard.  It is hoped that this code will be widespread enough so that
eventually (and soon) all chessplaying programs competing in machine
tournaments will be using the same notation.

Hints: EOF
