home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / gnuch40.zip / gnuchess-4.0.pl79 / doc / CHANGES < prev    next >
Text File  |  1998-09-28  |  16KB  |  430 lines

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