www.pudn.com > GNUCHESS.ZIP > CHANGES, change:1990-06-29,size:16216b


	  GNU CHESS HISTORY 
    (#include "../version.h") 
 
January 8, 1990 -- Hans Eric Sandstrom (hes@log-sv.se) 
Changed the transpositon table to allow 66536 positions per player. 
This means a 1.3 Mbyte hash table. Introduced simple rehashing. And 
also made setting ttable 0 exclude all transposition code from 
gnuchess (for machines with very little memory). 
 
 
January 3, 1990 -- Tom Vijlbrief (tnosoes!tom@nluug.n) 
Contributed code to fix undo of promotions. 
And a bugfix RMBLY was to small. 
 
 
January 27, 1990 -- Hans Eric Sandstrom (hes@log-sv.se) 
Fixed nuxdsp.c to work with my changes (Saved games format) 
 
 
January 26, 1990 -- Hans Eric Sandstrom (hes@log-sv.se) 
Verified that the underpromotion routines works. 
Found and fixed the bug that caused gnuchess to report mate 
and draw prematurely. 
 
 
January 25, 1990 -- Hans Eric Sandstrom (hes@log-sv.se) 
Received the underpromotion additions from jhol@tolsun.oulu.fi 
Made some optimizations in trapped and KingScan. 
Added more comments on how to improve the search. 
Added info on usage of the array Tree in post mode. 
Changed the index in the transposition table to unsigned short to 
allow a hash table of size 65536. 
 
 
January 11, 1990 -- Hans Eric Sandstrom (hes@log-sv.se) 
Formatted gnuchess according to GNU standards with indent. 
 
 
January 9, 1990 -- Hans Eric Sandstrom (hes@log-sv.se) 
Inserted a missing comma in KTHRT. 
Removed mvstr1[5],mvstr2[5] from gnuchess.c, they are only used in the 
user-interface routines uxdsp.c nondsp.c anyway. 
Rewrote algbr to generate move strings for underpromotion. (ph8k or h7h8k) 
Some optimizations in CaptureList. 
Changed row, column and locn to macros. 
Made memset default and introduced a switch NOMEMSET for computers without 
memset or where memset is a speed penality. I tested this on: 
Sparc -  no change, DECstation - no change and Sun3/60 - 4% speed improvment. 
Changed + to | in some bit-field manipulations. 
Fixed the castle-with-moved-rook-bug, removed kingmoved and introduced 
an array Mvboard to keep track on how many times we have moved from a 
particular square. 
Fixed the check for zero division in Time controls. 
Added BINDIR and LIBDIR in the Makefile to set where gnuchess and 
gnuchess.book gets installed. 
All I have to do now is to test if all this works (-: 
 
February 3, 1990 -- Tom Vijlbrief 
Noticed an error in the rook mobility bonus. RMBLTY array was 
indexed 0 to 14, but had only 14 members. Added final member. 
 
January 1, 1990 -- Stuart Cracraft (cracraft @wheaties.ai.mit.edu) 
Some special openings were inserted and some taken out. 
A small change was made to allow the program to detect draws earlier 
in the tree (via Stanback). 
Thinking on opponent's time is now working in nondsp.c. For some 
reason it had been deactivated. 
Tested GNU Chess 1.55 with with Chesstool on a SUN. 
Match vs. Fidelity Mach 3 (USCF 2265) resulted in 7-3 score for GNU 
on a Sparcstation giving a 2325-2335 performance result. 
 
January 1, 1990 -- Hes @log-se.sv 
He contributed faster move generator routines. 
 
August 1, 1989 -- Jay Scott 
He proofread the opening book and made 
corrections. 
 
June 9, 1989 -- Tim Radzy (unet!nplab4!radz@ames.arc.nasa.gov) 
He fixed a bug in xchess/board.c. In a post-game new-game situation, 
castling wouldn't be permitted under circumstances. Tim made 
it possible to castle again. 
 
May 12, 1989 -- Joe Garbarini (garbarini%kegger@circus.llnl.gov) 
Recommended changes to documentation vis a vis chesstool usage. 
 
May 5, 1989 -- Jouko Holopainen (jhol@tolsun.oulu.fi) 
Wrote code to support underpromotion. 
Changed interface to accept ECO/Informator style moves. 
 
April 30, 1989 -- Various GNU contributors 
setlinebuf() modification for xchess/chesstool. 
check for zero division in time printout. 
 
January 17, 1989 -- Anders Thulin 
Provided extensive addition to the opening book for his 
favorite opening the Vienna Game. This was drawn from ECO. 
 
November 23, 1988 -- Stuart Cracraft 
Installed new version of Xchess that is better debugged, works on 
the next version of X. Thanks to Wayne Christopher and Arturo Perez. 
 
August 28, 1988 -- Stuart Cracraft 
Removed a sacrifice line from the Giuoco Piano entry in the opening 
book; the program didn't seem to like the positions it got from this line. 
   
December 30, 1987 -- John Stanback 
Wrote a short blurb on the heuristics contained in GNU Chess. It resides 
in the subdirectory DOCUMENTATION as the file HEURISTICS. 
 
December 17, 1987 -- John Stanback 
Modified criteria for positional evaluation in quiescence search 
to include positions in which the estimated score lies within 
the alpha-beta window; fixed a bug in the king proximity to pawns heuristic; 
fixed a bug involving passed pawn heuristics; 
 
December 16, 1987 -- Stuart Cracraft 
Added automatic 'list' upon exit (both in display, non-display, and 
chesstool mode); command-line setting of tournament time controls 
bug fixed. 
 
December 14, 1987 -- John Stanback 
GNU defeated the commercial product 'Fidelity Excellence' 5.5-4.5 in 
a 10-game match. It was running at about 500 nodes per second (typical 
of its speed on a VAX 8650) and this would indicate its strength 
would be about USCF 1875-1900. 
 
December 4, 1987 -- John Stanback 
Man page added. Command line arguments now specify regular clock 
settings if so desired (useful for SUN players). Thinking 
on opponent's time is now disabled by default. Estimated  
rating is 1850 at 500 nodes per second. 
 
October 20, 1987 -- Stuart Cracraft 
Fixed GNU/SUN interaction. Chesstool and its features now 
seem to fully work. 
 
October 5, 1987 -- Ken Thompson 
GNU beat Belle (actually drew due to a bug, but 
Ken kept GNU playing through to the win) while 
running on a Cray XMP-48. In this 3-1 time handicap game 
Belle outsearched Cray GNU by 10-1 (even with the handicap). 
 
September 26, 1987 -- John Stanback at HP 
Hash table functioning. Thinking on opponent's 
time functioning. 
 
August 20, 1987   -- Mike Meyer at Berkeley 
Mike ran GNU Chess on a Cray 1 supercomputer. 
The system was very heavily loaded, so the 
program was not as speedy as with the Cray below. 
 
August 16, 1987   -- David Goldberg at SUN 
He added "chesstool" support so that this 
version of GNU Chess can run under the 
display manager "chesstool". 
 
August 15, 1987   -- John Stanback at HP 
Hash tables, more heuristics, a modified 
search which is more efficient. He also 
discovered a bug in the piece-exchanger. This 
would cause the program to exchange pieces suboptimally. 
With this fix, the program should play much 
more strongly. 
 
August 13, 1987   -- Ken Thompson at Bell Labs 
Ken ran GNU Chess on a Cray XMP supercomputer 
 (among other processors). The program got 
 about 3000-4000 chess positions per second 
 which is comprable to today's fastest bit-slice  
 commercial machines. Also, he had GNU Chess 
 play two games against Belle. 
 
July 19, 1987 -- Jay Scott & John Stanback 
 Many positional heuristics have been added. 
 
July 18, 1987 -- Stuart Cracraft 
 Improvements have been made to the opening 
 book. It is mostly an MCO book, containing 
 major variations from many of the major openings 
 and particularly in-depth on Sicilian. 
 
May 11, 1987  -- John Stanback at HP 
 He donated his chess program, a fairly mature 
 and strong program. 
 
May 1, 1987   -- Stuart Cracraft 
 He added several bug fixes various people 
 had reported. He also changed makemove() so that 
 the calling syntax is makemove(movelist,index,board) 
 rather than makemove(move,board). Having the latter 
 tickled a bug in at least one manufacturer's C-compiler, 
 so rather than write fancy code, we simplified it. 
 
April 25, 1987-- Jim Aspnes at MIT 
He added all sorts of useful capabilities, 
including positional evaluation in the tree 
search using a table-driven algorithm, 
modifying transposition table code in order 
to work properly, though it doesn't improve 
speed too much, checkmates/stalemates detected 
in the search, en passant captures allowed, 
detect repeated positions, iterative deepening, 
quicker quiescence search, tournament time controls, 
sqattacked sped up by a factor of 4, compile-time 
debugging options. 
 
January 2, 1987   -- Stuart Cracraft 
 He added a few more Tal games to the collection. 
 
January 2, 1987   -- Jim Aspnes at MIT 
 He contributed MCO variations for the Catalan, 
 Queen's Indian, and Reti openings. 
 
December 29, 1986 -- Jim Aspnes at MIT 
 He contributed all MCO variations of the Najdorf 
 to the opening book. He also contributed a LISP 
 macro (written in GNU Emacs Lisp) to convert 
 xchess game formats to GNU Chess opening book 
 format.  
 
December 14, 1986 -- Ken Thompson at Bell Labs 
 He contributed almost 200 games by Tal to 
 our collection of Tal-games, bringing the 
 total number of Tal positions in the book 
 to 10,692. Total book positions now 13,207. 
 These reside in bookin, bookin.bdg, bookin.tal. 
 Note that presently, only bookin and bookin.tal 
 can be used. The new Tal positions came in a 
 slightly different format, which we have chosen 
 to adopt as our standard format. All book 
 games in bookin and bookin.bdg will gradually 
 change into the new standard format. 
 
December 11, 1986 -- Stuart Cracraft 
 Added "averages" for node-count per move, 
 cpu per move, rate per move to list_history 
 and write_history. 
 New version of Xchess installed. 
 Started typing in Tal games into "bookin.tal". 
 Added "total book positions" printout to "book" 
 and "enter" statistics printout. 
 
December 10, 1986 -- Stuart Cracraft 
 Implemented aspiration search in normal 
 alpha-beta search. Speedups of 3% to 40% 
 have been noticed in most positions. 
 Occasionally a slower search will result, 
 but it is thought these are worth the 
 usual speedups. 
 
December 9, 1986  -- Stuart Cracraft 
 Fixed minor bug in write_history() 
 Added another Tal game, 2nd game of 1st world 
 championship match with Botvinnik, a Benoni. 
 
December 9, 1986  -- Stuart Cracraft 
 Enhanced parallelism. All parallel processors 
 now communicate via a shared data file and 
 are kept running (in idle loops watching the 
 shared data file). This saves us a few seconds 
 on each move since the 'rsh' need not be invoked 
 more than once (at the beginning). Since the 
 shared data file is now implemented, we will 
 next work towards a "parallel anarchy" in which 
 any processor can use any other processor in 
 order to reduce its search. The current scheme 
 with the program being only as fast as its slowest 
 processor, is quite inefficient. 
 
December 1, 1986 --  Jim Aspnes at MIT 
 Added a couple of Master games from  
 Modern Chess Openings 12 (a Fischer game, 
 and a Matanovic game). 
 
November 30, 1986 -- Stuart Cracraft 
 Added parallelism. Can now handle multiple 
 processors (sharing same disk). Later we will 
 add the capability to use processors not sharing 
 the same disk. Modified README and MAN-PAGE. 
 
November 26, 1986 -- Stuart Cracraft 
 Fixed a few bugs in book-mailing mechanism. 
 Fixed a bug regarding situations where only 
 one move is available. 
 Fixed a bug in read_history() that caused 
 Black queenside castles to be mishandled. 
 
November 25, 1986 -- Stuart Cracraft 
 Added two pawn heuristics. Reward pawns moving into 
 a phalanx of pawns. A phalanx is two or more 
 horizontally-connected pawns. Likewise, penalize 
 pawns leaving a phalanx of pawns. The penalty for 
 leaving is a little more than the reward for 
 entering. 
 
November 24, 1986 -- Stuart Cracraft 
 A user reported an unbelievable bug. Investigation 
 of this bug led to the discovery that GNU Chess was 
  not picking the move judged best by the tree search 
 in all cases. This resulted in the bug showing 
  itself which further showed that the program was 
 selecting an inferior move. This may result in an 
 improvement to the program's play. 
 
November 24, 1986 -- Stuart Cracraft 
 Added two heuristics. Penalize king moves if 
 the king hasn't castled yet. Also, penalize pawn 
 moves which produce doubled pawns. Should 
 probably have something for isolated pawns 
 too. 
 
November 23, 1986 -- Wayne Christopher at Berkeley 
 New version of X chess display front-end. 
 Fixed bugs include multiple pieces, runs 
 on SUNS & Bobcats, loads saved games. 
 
November 23, 1986 -- Stuart Cracraft 
 Cleaned up some minor bugs regarding history. 
 Added "Illegal command" error message at Wayne's 
 request. 
 
November 22, 1986 -- David Goldberg at SUN Microsystems 
 He complained that GNU Chess was memory-hungry. 
 A few minor modifications to hash.c reduced 
 uninitialized data space 87% and text space 
 12%. This should make it easier for GNU Chess 
 to run on small computers. 
 
November 22, 1986 -- Stuart Cracraft 
 "read" command was working, but needed 
 additional tweaking so that history 
 array would be printed by list_history(). 
 
November 19, 1986 -- Stuart Cracraft 
 Added "read" command which reads a history 
 file (game listing) and restores the board 
 to as if the person was still playing that. 
 particular game. Generally cleaned up  
 history mechanism, made it more orthogonal. 
 Revised README. Added doc to MAN-PAGE. 
 
November 16, 1986 -- Stuart Cracraft 
 More opening book bugs found and fixed. 
 Added capability to accept abbreviated-algebraic notation 
 for entering "book" games from files. 
 Added approximately 2500 new positions to 
 opening book from games involving the 
 opening called Blackmar-Diemer Gambit, 
 a hoary line developed by Diemer in 
 Germany years ago. 
 
November 15, 1986 -- Wayne Christopher at Berkeley 
 He modified the move generator, resulting in 
 a 28% speedup. 
 
November 14, 1986 -- Stuart Cracraft 
 He documented a lot of the GNU Chess modules 
 with brief comments for each function. More 
 extensive internal documentation may go in 
 later. 
 
November 14, 1986 -- Wayne Christopher at Berkeley 
 He created the Xchess interface for 
 GNU Chess to have windowing with X windows. 
 
November 14, 1986 -- Stuart Cracraft 
 He added a "randomization" feature to 
 the opening book. This will cause the 
 program to select randomly from alternate 
 variations whenever -DBEST is removed 
 from Makefile's CFLAGS. If this is not 
 removed, the opening play selects the 
 first move found in the book as it appears 
 "in order" in the human-readable book. 
 
November 14, 1986 -- David Goldberg at SUN Microsystems 
 He responded to a query about dbm(3) which 
 eventually resulted in the fixing of a subtle 
 bug in the book code which was causing the 
 program to sometimes hash to the incorrect 
 address and thereby produce a book move which 
 didn't even exist in the book. Thanks David! 
 
November 14, 1986 -- Stuart Cracraft 
 He added the "oboard" routine in util.c. This 
 is the reverse of the already extant "iboard" 
 (same module). These two routines translate 
 between GNU Chess internal format and 
 Forsythe notation. 
 
November 10, 1986 -- Stuart Cracraft 
 He added the "enter" command. This causes 
 the current game to be entered in the book. 
 Then, GNU Chess tries to mail this new entry 
 to the book maintainers (for inclusion in 
 the master copy of the book). 
 
November 9, 1986 -- Stuart Cracraft 
He added code for an opening book. MAN-PAGE 
and README were modified accordingly. 
 
November 8, 1986 -- Stuart Cracraft 
Checks and mates are now noticed at ply-1. 
This is a more complete fix to the Oct 31 fix. 
 
October 31, 1986 -- Stuart Cracraft 
First attempt at fix to bug which causes 
program to check human's king when program 
itself is in check. 
 
October 31, 1986 -- Mly at MIT 
Reported a bug which caused program to crash 
when an illegal human move was played. Fixed. 
Also, program was unable to play as White. Fixed. 
 
October 22, 1986 -- Stuart Cracraft 
Pps now rewards moves which liberate bishops. 
 
October 19, 1986 -- Stuart Cracraft 
Added bitmapper routines to distribution. 
Added version notice. 
 
October 19, 1986 -- David Goldberg at SUN Microsystems 
Interfaced GNU Chess with SUN's chesstool. 
 
October 18, 1986 -- Initial release date.