Annotation of 43BSDReno/games/chess/DOCUMENTATION/CHANGES, revision 1.1

1.1     ! root        1:          GNU CHESS HISTORY
        !             2:     (#include "../version.h")
        !             3: 
        !             4: August 1, 1989 -- Jay Scott
        !             5: He proofread the opening book and made
        !             6: corrections.
        !             7: 
        !             8: June 21, 1989 -- Hes @log-se.sv
        !             9: He contributed new move generation routines (move.c move.h) to speedup
        !            10: move generation and the overall program, by about 15-30%
        !            11: 
        !            12: June 9, 1989 -- Tim Radzy ([email protected])
        !            13: He fixed a bug in xchess/board.c. In a post-game new-game situation,
        !            14: castling wouldn't be permitted under circumstances. Tim made
        !            15: it possible to castle again.
        !            16: 
        !            17: May 12, 1989 -- Joe Garbarini (garbarini%[email protected])
        !            18: Recommended changes to documentation vis a vis chesstool usage.
        !            19: 
        !            20: May 5, 1989 -- Jouko Holopainen ([email protected])
        !            21: Wrote code to support underpromotion.
        !            22: Changed interface to accept ECO/Informator style moves.
        !            23: 
        !            24: April 30, 1989 -- Various GNU contributors
        !            25: setlinebuf() modification for xchess/chesstool.
        !            26: check for zero division in time printout.
        !            27: 
        !            28: January 17, 1989 -- Anders Thulin
        !            29: Provided extensive addition to the opening book for his
        !            30: favorite opening the Vienna Game. This was drawn from ECO.
        !            31: 
        !            32: November 23, 1988 -- Stuart Cracraft
        !            33: Installed new version of Xchess that is better debugged, works on
        !            34: the next version of X. Thanks to Wayne Christopher and Arturo Perez.
        !            35: 
        !            36: August 28, 1988 -- Stuart Cracraft
        !            37: Removed a sacrifice line from the Giuoco Piano entry in the opening
        !            38: book; the program didn't seem to like the positions it got from this line.
        !            39:   
        !            40: December 30, 1987 -- John Stanback
        !            41: Wrote a short blurb on the heuristics contained in GNU Chess. It resides
        !            42: in the subdirectory DOCUMENTATION as the file HEURISTICS.
        !            43: 
        !            44: December 17, 1987 -- John Stanback
        !            45: Modified criteria for positional evaluation in quiescence search
        !            46: to include positions in which the estimated score lies within
        !            47: the alpha-beta window; fixed a bug in the king proximity to pawns heuristic;
        !            48: fixed a bug involving passed pawn heuristics;
        !            49: 
        !            50: December 16, 1987 -- Stuart Cracraft
        !            51: Added automatic 'list' upon exit (both in display, non-display, and
        !            52: chesstool mode); command-line setting of tournament time controls
        !            53: bug fixed.
        !            54: 
        !            55: December 14, 1987 -- John Stanback
        !            56: GNU defeated the commercial product 'Fidelity Excellence' 5.5-4.5 in
        !            57: a 10-game match. It was running at about 500 nodes per second (typical
        !            58: of its speed on a VAX 8650) and this would indicate its strength
        !            59: would be about USCF 1875-1900.
        !            60: 
        !            61: December 4, 1987 -- John Stanback
        !            62: Man page added. Command line arguments now specify regular clock
        !            63: settings if so desired (useful for SUN players). Thinking
        !            64: on opponent's time is now disabled by default. Estimated 
        !            65: rating is 1850 at 500 nodes per second.
        !            66: 
        !            67: October 20, 1987 -- Stuart Cracraft
        !            68: Fixed GNU/SUN interaction. Chesstool and its features now
        !            69: seem to fully work.
        !            70: 
        !            71: October 5, 1987 -- Ken Thompson
        !            72: GNU beat Belle (actually drew due to a bug, but
        !            73: Ken kept GNU playing through to the win) while
        !            74: running on a Cray XMP-48. In this 3-1 time handicap game
        !            75: Belle outsearched Cray GNU by 10-1 (even with the handicap).
        !            76: 
        !            77: September 26, 1987 -- John Stanback at HP
        !            78: Hash table functioning. Thinking on opponent's
        !            79: time functioning.
        !            80: 
        !            81: August 20, 1987   -- Mike Meyer at Berkeley
        !            82: Mike ran GNU Chess on a Cray 1 supercomputer.
        !            83: The system was very heavily loaded, so the
        !            84: program was not as speedy as with the Cray below.
        !            85: 
        !            86: August 16, 1987   -- David Goldberg at SUN
        !            87: He added "chesstool" support so that this
        !            88: version of GNU Chess can run under the
        !            89: display manager "chesstool".
        !            90: 
        !            91: August 15, 1987   -- John Stanback at HP
        !            92: Hash tables, more heuristics, a modified
        !            93: search which is more efficient. He also
        !            94: discovered a bug in the piece-exchanger. This
        !            95: would cause the program to exchange pieces suboptimally.
        !            96: With this fix, the program should play much
        !            97: more strongly.
        !            98: 
        !            99: August 13, 1987   -- Ken Thompson at Bell Labs
        !           100: Ken ran GNU Chess on a Cray XMP supercomputer
        !           101:  (among other processors). The program got
        !           102:  about 3000-4000 chess positions per second
        !           103:  which is comprable to today's fastest bit-slice 
        !           104:  commercial machines. Also, he had GNU Chess
        !           105:  play two games against Belle.
        !           106: 
        !           107: July 19, 1987 -- Jay Scott & John Stanback
        !           108:  Many positional heuristics have been added.
        !           109: 
        !           110: July 18, 1987 -- Stuart Cracraft
        !           111:  Improvements have been made to the opening
        !           112:  book. It is mostly an MCO book, containing
        !           113:  major variations from many of the major openings
        !           114:  and particularly in-depth on Sicilian.
        !           115: 
        !           116: May 11, 1987  -- John Stanback at HP
        !           117:  He donated his chess program, a fairly mature
        !           118:  and strong program.
        !           119: 
        !           120: May 1, 1987   -- Stuart Cracraft
        !           121:  He added several bug fixes various people
        !           122:  had reported. He also changed makemove() so that
        !           123:  the calling syntax is makemove(movelist,index,board)
        !           124:  rather than makemove(move,board). Having the latter
        !           125:  tickled a bug in at least one manufacturer's C-compiler,
        !           126:  so rather than write fancy code, we simplified it.
        !           127: 
        !           128: April 25, 1987-- Jim Aspnes at MIT
        !           129: He added all sorts of useful capabilities,
        !           130: including positional evaluation in the tree
        !           131: search using a table-driven algorithm,
        !           132: modifying transposition table code in order
        !           133: to work properly, though it doesn't improve
        !           134: speed too much, checkmates/stalemates detected
        !           135: in the search, en passant captures allowed,
        !           136: detect repeated positions, iterative deepening,
        !           137: quicker quiescence search, tournament time controls,
        !           138: sqattacked sped up by a factor of 4, compile-time
        !           139: debugging options.
        !           140: 
        !           141: January 2, 1987   -- Stuart Cracraft
        !           142:  He added a few more Tal games to the collection.
        !           143: 
        !           144: January 2, 1987   -- Jim Aspnes at MIT
        !           145:  He contributed MCO variations for the Catalan,
        !           146:  Queen's Indian, and Reti openings.
        !           147: 
        !           148: December 29, 1986 -- Jim Aspnes at MIT
        !           149:  He contributed all MCO variations of the Najdorf
        !           150:  to the opening book. He also contributed a LISP
        !           151:  macro (written in GNU Emacs Lisp) to convert
        !           152:  xchess game formats to GNU Chess opening book
        !           153:  format. 
        !           154: 
        !           155: December 14, 1986 -- Ken Thompson at Bell Labs
        !           156:  He contributed almost 200 games by Tal to
        !           157:  our collection of Tal-games, bringing the
        !           158:  total number of Tal positions in the book
        !           159:  to 10,692. Total book positions now 13,207.
        !           160:  These reside in bookin, bookin.bdg, bookin.tal.
        !           161:  Note that presently, only bookin and bookin.tal
        !           162:  can be used. The new Tal positions came in a
        !           163:  slightly different format, which we have chosen
        !           164:  to adopt as our standard format. All book
        !           165:  games in bookin and bookin.bdg will gradually
        !           166:  change into the new standard format.
        !           167: 
        !           168: December 11, 1986 -- Stuart Cracraft
        !           169:  Added "averages" for node-count per move,
        !           170:  cpu per move, rate per move to list_history
        !           171:  and write_history.
        !           172:  New version of Xchess installed.
        !           173:  Started typing in Tal games into "bookin.tal".
        !           174:  Added "total book positions" printout to "book"
        !           175:  and "enter" statistics printout.
        !           176: 
        !           177: December 10, 1986 -- Stuart Cracraft
        !           178:  Implemented aspiration search in normal
        !           179:  alpha-beta search. Speedups of 3% to 40%
        !           180:  have been noticed in most positions.
        !           181:  Occasionally a slower search will result,
        !           182:  but it is thought these are worth the
        !           183:  usual speedups.
        !           184: 
        !           185: December 9, 1986  -- Stuart Cracraft
        !           186:  Fixed minor bug in write_history()
        !           187:  Added another Tal game, 2nd game of 1st world
        !           188:  championship match with Botvinnik, a Benoni.
        !           189: 
        !           190: December 9, 1986  -- Stuart Cracraft
        !           191:  Enhanced parallelism. All parallel processors
        !           192:  now communicate via a shared data file and
        !           193:  are kept running (in idle loops watching the
        !           194:  shared data file). This saves us a few seconds
        !           195:  on each move since the 'rsh' need not be invoked
        !           196:  more than once (at the beginning). Since the
        !           197:  shared data file is now implemented, we will
        !           198:  next work towards a "parallel anarchy" in which
        !           199:  any processor can use any other processor in
        !           200:  order to reduce its search. The current scheme
        !           201:  with the program being only as fast as its slowest
        !           202:  processor, is quite inefficient.
        !           203: 
        !           204: December 1, 1986 --  Jim Aspnes at MIT
        !           205:  Added a couple of Master games from 
        !           206:  Modern Chess Openings 12 (a Fischer game,
        !           207:  and a Matanovic game).
        !           208: 
        !           209: November 30, 1986 -- Stuart Cracraft
        !           210:  Added parallelism. Can now handle multiple
        !           211:  processors (sharing same disk). Later we will
        !           212:  add the capability to use processors not sharing
        !           213:  the same disk. Modified README and MAN-PAGE.
        !           214: 
        !           215: November 26, 1986 -- Stuart Cracraft
        !           216:  Fixed a few bugs in book-mailing mechanism.
        !           217:  Fixed a bug regarding situations where only
        !           218:  one move is available.
        !           219:  Fixed a bug in read_history() that caused
        !           220:  Black queenside castles to be mishandled.
        !           221: 
        !           222: November 25, 1986 -- Stuart Cracraft
        !           223:  Added two pawn heuristics. Reward pawns moving into
        !           224:  a phalanx of pawns. A phalanx is two or more
        !           225:  horizontally-connected pawns. Likewise, penalize
        !           226:  pawns leaving a phalanx of pawns. The penalty for
        !           227:  leaving is a little more than the reward for
        !           228:  entering.
        !           229: 
        !           230: November 24, 1986 -- Stuart Cracraft
        !           231:  A user reported an unbelievable bug. Investigation
        !           232:  of this bug led to the discovery that GNU Chess was
        !           233:   not picking the move judged best by the tree search
        !           234:  in all cases. This resulted in the bug showing
        !           235:   itself which further showed that the program was
        !           236:  selecting an inferior move. This may result in an
        !           237:  improvement to the program's play.
        !           238: 
        !           239: November 24, 1986 -- Stuart Cracraft
        !           240:  Added two heuristics. Penalize king moves if
        !           241:  the king hasn't castled yet. Also, penalize pawn
        !           242:  moves which produce doubled pawns. Should
        !           243:  probably have something for isolated pawns
        !           244:  too.
        !           245: 
        !           246: November 23, 1986 -- Wayne Christopher at Berkeley
        !           247:  New version of X chess display front-end.
        !           248:  Fixed bugs include multiple pieces, runs
        !           249:  on SUNS & Bobcats, loads saved games.
        !           250: 
        !           251: November 23, 1986 -- Stuart Cracraft
        !           252:  Cleaned up some minor bugs regarding history.
        !           253:  Added "Illegal command" error message at Wayne's
        !           254:  request.
        !           255: 
        !           256: November 22, 1986 -- David Goldberg at SUN Microsystems
        !           257:  He complained that GNU Chess was memory-hungry.
        !           258:  A few minor modifications to hash.c reduced
        !           259:  uninitialized data space 87% and text space
        !           260:  12%. This should make it easier for GNU Chess
        !           261:  to run on small computers.
        !           262: 
        !           263: November 22, 1986 -- Stuart Cracraft
        !           264:  "read" command was working, but needed
        !           265:  additional tweaking so that history
        !           266:  array would be printed by list_history().
        !           267: 
        !           268: November 19, 1986 -- Stuart Cracraft
        !           269:  Added "read" command which reads a history
        !           270:  file (game listing) and restores the board
        !           271:  to as if the person was still playing that.
        !           272:  particular game. Generally cleaned up 
        !           273:  history mechanism, made it more orthogonal.
        !           274:  Revised README. Added doc to MAN-PAGE.
        !           275: 
        !           276: November 16, 1986 -- Stuart Cracraft
        !           277:  More opening book bugs found and fixed.
        !           278:  Added capability to accept abbreviated-algebraic notation
        !           279:  for entering "book" games from files.
        !           280:  Added approximately 2500 new positions to
        !           281:  opening book from games involving the
        !           282:  opening called Blackmar-Diemer Gambit,
        !           283:  a hoary line developed by Diemer in
        !           284:  Germany years ago.
        !           285: 
        !           286: November 15, 1986 -- Wayne Christopher at Berkeley
        !           287:  He modified the move generator, resulting in
        !           288:  a 28% speedup.
        !           289: 
        !           290: November 14, 1986 -- Stuart Cracraft
        !           291:  He documented a lot of the GNU Chess modules
        !           292:  with brief comments for each function. More
        !           293:  extensive internal documentation may go in
        !           294:  later.
        !           295: 
        !           296: November 14, 1986 -- Wayne Christopher at Berkeley
        !           297:  He created the Xchess interface for
        !           298:  GNU Chess to have windowing with X windows.
        !           299: 
        !           300: November 14, 1986 -- Stuart Cracraft
        !           301:  He added a "randomization" feature to
        !           302:  the opening book. This will cause the
        !           303:  program to select randomly from alternate
        !           304:  variations whenever -DBEST is removed
        !           305:  from Makefile's CFLAGS. If this is not
        !           306:  removed, the opening play selects the
        !           307:  first move found in the book as it appears
        !           308:  "in order" in the human-readable book.
        !           309: 
        !           310: November 14, 1986 -- David Goldberg at SUN Microsystems
        !           311:  He responded to a query about dbm(3) which
        !           312:  eventually resulted in the fixing of a subtle
        !           313:  bug in the book code which was causing the
        !           314:  program to sometimes hash to the incorrect
        !           315:  address and thereby produce a book move which
        !           316:  didn't even exist in the book. Thanks David!
        !           317: 
        !           318: November 14, 1986 -- Stuart Cracraft
        !           319:  He added the "oboard" routine in util.c. This
        !           320:  is the reverse of the already extant "iboard"
        !           321:  (same module). These two routines translate
        !           322:  between GNU Chess internal format and
        !           323:  Forsythe notation.
        !           324: 
        !           325: November 10, 1986 -- Stuart Cracraft
        !           326:  He added the "enter" command. This causes
        !           327:  the current game to be entered in the book.
        !           328:  Then, GNU Chess tries to mail this new entry
        !           329:  to the book maintainers (for inclusion in
        !           330:  the master copy of the book).
        !           331: 
        !           332: November 9, 1986 -- Stuart Cracraft
        !           333: He added code for an opening book. MAN-PAGE
        !           334: and README were modified accordingly.
        !           335: 
        !           336: November 8, 1986 -- Stuart Cracraft
        !           337: Checks and mates are now noticed at ply-1.
        !           338: This is a more complete fix to the Oct 31 fix.
        !           339: 
        !           340: October 31, 1986 -- Stuart Cracraft
        !           341: First attempt at fix to bug which causes
        !           342: program to check human's king when program
        !           343: itself is in check.
        !           344: 
        !           345: October 31, 1986 -- Mly at MIT
        !           346: Reported a bug which caused program to crash
        !           347: when an illegal human move was played. Fixed.
        !           348: Also, program was unable to play as White. Fixed.
        !           349: 
        !           350: October 22, 1986 -- Stuart Cracraft
        !           351: Pps now rewards moves which liberate bishops.
        !           352: 
        !           353: October 19, 1986 -- Stuart Cracraft
        !           354: Added bitmapper routines to distribution.
        !           355: Added version notice.
        !           356: 
        !           357: October 19, 1986 -- David Goldberg at SUN Microsystems
        !           358: Interfaced GNU Chess with SUN's chesstool.
        !           359: 
        !           360: October 18, 1986 -- Initial release date. 
        !           361: 
        !           362: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.