diff options
Diffstat (limited to 'gnu/games/chess/DOCUMENTATION')
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/ARTICLE | 66 | ||||
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/ARTICLE.2 | 123 | ||||
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/CHANGES | 362 | ||||
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/COPYING | 123 | ||||
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/GENERAL | 34 | ||||
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/HEURISTICS | 122 | ||||
| -rw-r--r-- | gnu/games/chess/DOCUMENTATION/MAN-PAGE | 161 |
7 files changed, 0 insertions, 991 deletions
diff --git a/gnu/games/chess/DOCUMENTATION/ARTICLE b/gnu/games/chess/DOCUMENTATION/ARTICLE deleted file mode 100644 index b2ab331d21d5..000000000000 --- a/gnu/games/chess/DOCUMENTATION/ARTICLE +++ /dev/null @@ -1,66 +0,0 @@ -[This article was reproduced from a GNU Bulletin.] - - GNU Chess - by Stuart Cracraft - copyright 1987 Stuart Cracraft - - - GNU Chess is a communal chess program. Contributors donate their -time and effort in order to make it a stronger, better, sleeker program. -Contributions take many forms: interfaces to high-resolution displays, -opening book treatises, speedups of the underlying algorithms, additions -of extra heuristics. These contributions are then distributed to the -large user-base so that all may enjoy the fruits of our labor. The -original and continuing purpose of this project is to permanently end -the rampant hoarding of computer chess software that has been the -case for the past 20 years. - - Many people have contributed to GNU Chess. Their contributions have -improved the program from being a patzer (weak program) to being a -grandpatzer (decently strong program). In its growth since initial -release, GNU Chess has gone from approximately class D to expert -strength. It beats the Fidelity Excel commercial unit rather handily. - - GNU Chess's structure is a hybrid of the Shannon Type-A and -Type-B methods. It conducts a full-width search to a fixed-depth -and then continues with a quiescence search for many more ply. -This quiescence search helps the program find positions which -can be safely evaluated and which are not too turbulent. If -a terminal position is too turbulent, the evaluation will be -highly inaccurate. Additional searching by investigating series -of captures, checks, and other potentially imbalance-producing -moves is quite helpful. - - GNU Chess will sacrifice pieces in order to reach known winning -endings. Also, it uses a trade-down bonus to encourage the stronger -side to trade off certain types of pieces thus reaching a more -simplified and therefore ostensibly "clearer" position. - - GNU Chess has certain types of knowledge regarding easier endgames. -This allows it to play these endings somewhat better than might be -expected. - - GNU Chess has time heuristics that it uses to improve its handling -of time-controls and hasten its making of "obvious" moves. - - GNU Chess is interfaced to the SUN Windows and X Windows -display protocols and can display its pieces in elaborate format, -similar to chess diagrams. - - GNU Chess has an opening book which consists of many variations -from MCO (Modern Chess Openings). - - For comparison purposes, GNU Chess running on a VAX 8650 is -stronger than the famous Chess 4.5 running on a CDC 6400. - - We wish to acknowledge the contributions of the following -individuals: (in alphabetical order) Jim Aspnes, Wayne Christopher, -Steve Dougherty, David Goldberg, Richard Greenblatt, David Kittinger, -Richard Stallman, John Stanback, and Ken Thompson. - - Contact information: The author may be reached by a variety of -methods. Via U.S. mail: Stuart Cracraft, 5 Via Amistosa, Suite G, -Rancho Santa Margarita, Ca. 92688 USA. - By Internet: 'cracraft at wheaties.ai.mit.edu' -The author may also be contacted via the Free Software Foundation, Inc. -675 Massachusetts Ave.,Cambridge MA 02139. diff --git a/gnu/games/chess/DOCUMENTATION/ARTICLE.2 b/gnu/games/chess/DOCUMENTATION/ARTICLE.2 deleted file mode 100644 index 031ae18f9e4b..000000000000 --- a/gnu/games/chess/DOCUMENTATION/ARTICLE.2 +++ /dev/null @@ -1,123 +0,0 @@ - - - GNU Chess: Experiences Learned - with Communal Sharing - by Stuart Cracraft - (and contributors to the GNU Project) - - -Limited sharing has characterized the computer chess community -for the past two decades. Occasional research articles give hints -and suggestions for useful features, but rarely reveal the real -details of the critically important advances. We will here -describe an effort underway (titled "GNU Chess") to create a more -open and friendly environment of sharing. - -GNU Chess is part of Project GNU, a large-scale effort in which -the philosophical goals are far-reaching. We will not go into any -great depth about these goals as they relate to the larger pro- -ject, because these are described elsewhere [1]. However, we will -mention the basic issues and the changes we hope to encourage. - -The start of the GNU Chess project was a natural result of the -experiences gleaned in writing a chess program. While the author -was at a progressive academic location [2], he was able to con- -ceive the idea of a communal chess program only after much heart- -ache. During the period of writing the initial version (which -has since undergone many improvements and whole revisions), it -became clear that the best features and most useful hints, the -very best of the heuristics, were hidden and difficult to find in -the literature. - -Sprinkled across many books, research papers, magazine articles, -accumulated in the community, during the past 25 years, there was -literally a void of true, empirical programs. Locating usable -programs was difficult. Many programs were the result of academic -work in "ivory towers", and hence were inaccessible to the common -man. Other programs were sequestered in research think-tanks. Na- -turally, developers of commercial programs carefully guarded -their source in order to protect their investment. On the other -hand, a few chess program source listings had actually been pub- -lished, but these were not really very strong, often written in a -non-general language, and frequently more pedantic than practi- -cal. - -The idea of a reasonably strong communal program solidified. -When we refer to a communal program, we do not regard this as -public-domain software. Rather, we refer to a program which is -under the shared authority of a number of individuals, the prin- -cipal contributors. These individuals have experienced and real- -ized the positive results of a sharing community and the rapid -improvements that come through contributing in such a community. -Further, these individuals devote time and energy to coordinating -the contributions of other individuals. While they exercise a -certain editorial right, this is usually not exercised arbitrari- -ly; instead, a discussion is often undertaken. - -Eventually, a working C program that played chess was available. -The coordinating institution for Project GNU [3], accepted our -suggestion of inclusion of a chess program in the GNU distribu- -tion. Initial distribution of GNU Chess commenced in October of -1986. Interest in the project increased rapidly. - -Contributions came in from many places and people. Interfaces to -X-windows and SUN-windows were donated, thus allowing very fancy -chess fonts on bit-mapped screens. Also, contributions involving -large portions of opening books such as MCO and collections of -master games were added to the distribution. Additionally, -tree-search modifications and heuristics were provided, and occa- -sionally even entire rewrites. - -The program advanced in strength by several USCF class intervals -during a period of less than one year. During this time, many -unusual features and enhancements were added to the program, usu- -ally under the coordination of two or more people, with one work- -ing in a distant-advisory capacity to the other. Frequently, gra- -duate students would give up significant time from their thesis -work to devote energy to contributing. Their corporate counter- -parts would often give up project time to make their donation. - -Contributors would often enter the project in a very forceful way -and then having made their contribution, learn the viability of -communal sharing once others had stepped in and contributed to -them, thus providing considerable reinforcement. Frequently, con- -tributors would then go into "hibernation" for a long period of -time, but most of them remained open to contributing and were -helpful when asked to reprogram their particular contribution in -a more recent version. - -GNU Chess has made great strides in relatively little time. It -has run on many different hardware architectures and has been -compiled by a number of C compilers [4]. A sampling of the com- -puters on which the program has run is: National 32032, Vax -11/750, 8550, 8600, 8650, Motorola 68020, CCI 5/32, CCI 6/32 -(tahoe), Cray XMP. - -It is our belief that GNU Chess will stimulate graduate research -in computer chess theory and practice. When students are able to -easily obtain a state-of-the-art program in order to test out -their ideas, they will no longer need to reinvent the wheel. The -students will be able to investigate their research areas much -more thoroughly, because they will spend more time on the specif- -ic research areas they are concerned about. Basically, GNU Chess -"frees up" time in order to get on to more fundamental issues. - -We also feel that as other researchers gain trust in the GNU -Chess project, they will be more likely to release their results -directly and rapidly, through journal articles, or directly to -the GNU project, and in fact become contributors and join the -present list [5]. At the very least, a communal, ever-growing -program will encourage the few "closeted" researchers to be some- -what more open in their approach to disseminating advances. - -In whatever form it takes, the progress toward elaboration of -machine chess is ongoing, and we hope that GNU chess will be -helpful to the community. Copies of GNU Chess source and "book", -as well as additional experimental code are available from the -Free Software Foundation [3] or the author [6]. - - -[1] The GNU Manifesto, Richard Stallman, Free Software Foundation, Inc. - -[2] University of Southern California, Information Sciences Institute. - diff --git a/gnu/games/chess/DOCUMENTATION/CHANGES b/gnu/games/chess/DOCUMENTATION/CHANGES deleted file mode 100644 index 9866075ab8a8..000000000000 --- a/gnu/games/chess/DOCUMENTATION/CHANGES +++ /dev/null @@ -1,362 +0,0 @@ - GNU CHESS HISTORY - (#include "../version.h") - -August 1, 1989 -- Jay Scott -He proofread the opening book and made -corrections. - -June 21, 1989 -- Hes @log-se.sv -He contributed new move generation routines (move.c move.h) to speedup -move generation and the overall program, by about 15-30% - -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. - - diff --git a/gnu/games/chess/DOCUMENTATION/COPYING b/gnu/games/chess/DOCUMENTATION/COPYING deleted file mode 100644 index 17847b71307f..000000000000 --- a/gnu/games/chess/DOCUMENTATION/COPYING +++ /dev/null @@ -1,123 +0,0 @@ - GNU CHESS GENERAL PUBLIC LICENSE - - Copyright (C) 1986,1987 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license, but changing it is not allowed. - - The license agreements of most software companies keep you at the -mercy of those companies. By contrast, our general public license is -intended to give everyone the right to share GNU Chess. To make -sure that you get the rights we want you to have, we need to make -restrictions that forbid anyone to deny you these rights or to ask you -to surrender the rights. Hence this license agreement. - - Specifically, we want to make sure that you have the right to give -away copies of GNU Chess, that you receive source code or else can get it -if you want it, that you can change GNU Chess or use pieces of it in new -free programs, and that you know you can do these things. - - To make sure that everyone has such rights, we have to forbid you to -deprive anyone else of these rights. For example, if you distribute -copies of GNU Chess, you must give the recipients all the rights that you -have. You must make sure that they, too, receive or can get the -source code. And you must tell them their rights. - - Also, for our own protection, we must make certain that everyone -finds out that there is no warranty for GNU Chess. If GNU Chess is -modified by someone else and passed on, we want its recipients to know -that what they have is not what we distributed, so that any problems -introduced by others will not reflect on our reputation. - - Therefore the Free Software Foundation, Inc. makes the following -terms which say what you must do to be allowed to distribute or change -GNU Chess. - - COPYING POLICIES - - 1. You may copy and distribute verbatim copies of GNU Chess source -code as you receive it, in any medium, provided that you conspicuously -and appropriately publish on each file a valid copyright notice -"Copyright (C) 1986,1987 Free Software Foundation, Inc.", containing the -year of last change for the file in question; keep intact the notices -on all files that refer to this License Agreement and to the absence -of any warranty; and give any other recipients of the GNU Chess -program a copy of this License Agreement along with the program. - - 2. You may modify your copy or copies of GNU Chess source code or -any portion of it, and copy and distribute such modifications under -the terms of Paragraph 1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating - who last changed such files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, - that in whole or in part contains or is a derivative of GNU Chess - or any part thereof, to be freely distributed - and licensed to all third parties on terms identical to those - contained in this License Agreement (except that you may choose - to grant more extensive warranty protection to third parties, - at your option). - - c) if the modified program serves as a text editor, cause it - when started running in the simplest and usual way, to print - an announcement including a valid copyright notice ("Copyright - (C)", the year of authorship, and all copyright owners' names), - saying that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of - this License Agreement. - - 3. You may copy and distribute GNU Chess or any portion of it in -compiled, executable or object code form under the terms of Paragraphs -1 and 2 above provided that you do the following: - - a) cause each such copy of GNU Chess to be accompanied by the - corresponding machine-readable source code; or - - b) cause each such copy of GNU Chess to be accompanied by a - written offer, with no time limit, to give any third party - free (except for a nominal shipping charge) machine readable - copy of the corresponding source code; or - - c) in the case of a recipient of GNU Chess in compiled, executable - or object code form (without the corresponding source code) you - shall cause copies you distribute to be accompanied by a copy - of the written offer of source code which you received along - with the copy of GNU Chess. - - 4. You may not copy, sublicense, distribute or transfer GNU Chess -except as expressly provided under this License Agreement. Any attempt -otherwise to copy, sublicense, distribute or transfer GNU Chess is void and -your rights to use GNU Chess under this License agreement shall be -automatically terminated. However, parties who have received computer -software programs from you with this License Agreement will not have -their licenses terminated so long as such parties remain in full compliance. - -Your comments and suggestions about our licensing policies and our -software are welcome! Please contact the Free Software Foundation, Inc., -1000 Mass Ave, Cambridge, MA 02138, or call (617) 876-3296. - - NO WARRANTY - - BECAUSE GNU CHESS IS LICENSED FREE OF CHARGE, WE PROVIDE ABSOLUTELY -NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT -WHEN OTHERWISE STATED IN WRITING, FREE SOFTWARE FOUNDATION, INC, -AND/OR OTHER PARTIES PROVIDE GNU CHESS "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -PROGRAM IS WITH YOU. SHOULD THE GNU CHESS PROGRAM PROVE DEFECTIVE, -YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL FREE SOFTWARE -FOUNDATION, INC., AND/OR ANY OTHER PARTY WHO MAY MODIFY AND -REDISTRIBUTE GNU CHESS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR -INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA -BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A -FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY -FREE SOFTWARE FOUNDATION, INC.) THE PROGRAM, EVEN IF YOU HAVE BEEN -ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY -OTHER PARTY. -====================================================================== diff --git a/gnu/games/chess/DOCUMENTATION/GENERAL b/gnu/games/chess/DOCUMENTATION/GENERAL deleted file mode 100644 index aafb7ed335e3..000000000000 --- a/gnu/games/chess/DOCUMENTATION/GENERAL +++ /dev/null @@ -1,34 +0,0 @@ - GNU Chess - -Copyright (C) 1987 Stuart Cracraft - (Copying permission notice at the end.) - -GNU Chess is your program (as long as you follow the copyright and -licensing rules listed in the file COPYING). Your contributioinspire current and future software -developers. - -This document -------------- -This document is not meant to be a an introduction to computer chess. -The following books are excellent introductions and treatises. -They are listed in order of difficulty: - - Computer Chess (2nd edition), by David Welsh and Boris Bazcynski - The Joy of Computer Chess, by David Levy - Chess Skill in Man and Machine (2nd edition), by Peter Frey - - -Current Distribution --------------------- -The most recent distribution of GNU Chess contains the following -main-level files and directories: - - Filename Purpose - ------------------------------------------------------ - README Pointer to main README below. - gnuchess.c Most recent version of GNU Chess - nondsp.c Non-display interface, and chesstool/xchess interface - uxdsp.c Unix (curses) display interface - ansidsp.c ANSI display interface - gnuchess.book Most recent version of opening book - diff --git a/gnu/games/chess/DOCUMENTATION/HEURISTICS b/gnu/games/chess/DOCUMENTATION/HEURISTICS deleted file mode 100644 index 254b34472abe..000000000000 --- a/gnu/games/chess/DOCUMENTATION/HEURISTICS +++ /dev/null @@ -1,122 +0,0 @@ -This file contains a description of GNU's heuristics. - Copyright (C) 1986, 1987 Free Software Foundation, Inc. - -This file is part of CHESS. - -CHESS is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY. No author or distributor -accepts responsibility to anyone for the consequences of using it -or for whether it serves any particular purpose or works at all, -unless he says so in writing. Refer to the CHESS General Public -License for full details. - -Everyone is granted permission to copy, modify and redistribute -CHESS, but only under the conditions described in the -CHESS General Public License. A copy of this license is -supposed to have been given to you along with CHESS so you -can know your rights and responsibilities. It should be in a -file named COPYING. Among other things, the copyright notice -and this notice must be preserved on all copies. */ - - -- requested by main author -Heuristic descriptions for CHESS. - -Revision: 12-16-87 - -Copyright (c) 1987 by John Stanback - - Here is a brief description of the heuristics used in the positional - evaluator of the GNU Chess program. Many heuristics are functions of the - stage of the game which is based on the total non-pawn material remaining - for both sides. - - -PAWNS - The material value of a pawn is 100 points. Isolated pawns get a - penalty depending on which file they occupy: - (12,14,16,20,20,16,14,12) for files (a..h). - Doubled pawns (which are not also isolated) get a penalty of 12 - points. Backward pawns (defined simply as not being defended by a - pawn with the square in front also not defended by a a pawn) are - penalized 6 points. A 4 point penalty is also invoked for each attack - by the opponent to a backward pawn and for a backward pawn on a - half-open file. Pawn Advancement in the centre is given a bonus of - about 4 points per rank in the opening increasing to about 8 points - per rank in the ending. Advancement on the edges is given a lower - bonus. Pawns on the e and d files and on the 2nd rank are given a 10 - point penalty. An additional penalty of 15 points is invoked if these - pawns are also blocked. Pawns within 2 squares of the king are given - a 10 point bonus. Passed pawns are given a bonus for increasing rank - which is a function of stage of the game and of whether the opponent - blocks or attacks one or more squares in front of the pawn or if the - opponents king is in the square of the pawn. This bonus ranges from - about 15 points for a pawn on the second rank up to about 300 points - for a passed pawn on the 7th rank which can't be stopped from - queening. - - -KNIGHTS - The material value of a knight is 330 points. The main heuristic for - knights is a bonus for proximity to the centre. This varies from 0 - points in the corners to 30 points in the centre. Knights are also - given a bonus for being within 2 squares of each enemy piece. This - bonus is a function of the stage of the game, equalling 4 points in - the end game. A penalty of 1 point per square is given for distance - from either king. A bonus of up to 8 points (depends on stage) is - given for knights which can't be driven away by enemy pawns. - - -BISHOPS - The material value of a bishop is 330 points. Bishops are given a - bonus as material falls off the board equalling 10 points in the end - game. Bishops get a bonus for mobility and Xray mobility thru pieces - but not pawns. This bonus ranges from -4 points for a totally blocked - bishop up to 18 points for a bishop attacking 12 or more squares. - Xray attacks on an enemy R,Q,K or any undefended piece are given an 8 - point bonus. Bishops are given a bonus of 14 points if they lie on - the edge of the board up to 22 points if the lie in the centre. A - bishop is given a bonus of up to 5 points for each attack to a square - adjacent to the enemy king. - - -ROOKS - The material value of a rook is 520 points. Rook mobility is handled - similiarly to bishops with a bonus of 0 points if blocked up to 20 - points if attacking 12 squares or more. A bonus of 8 points for Xray - attacks is handled as it is for bishops. Rooks are given a bonus of - 10 points for occupying a file with no friendly pawns and a bonus of - 4 points if no enemy pawns lie on that file. After the opening Rooks - are penalized slightly depending on "taxicab" distance to the enemy - king. - - -QUEENS - The material value of a queen is 980 points. The only heuristic for a - queen is that after the opening it is penalized slightly for - "taxicab" distance to the enemy king. - - -KINGS - Kings are given a penalty for proximity to the centre in the opening - and a bonus for proximity to the centre in the endgame. The penalty - is about 24 points for being in the centre in the opening with a - bonus of about 36 points for being in the centre in the endgame. - Kings are penalized for lying on an open or half-open file or if the - adjacent file closest to the corner is open or half-open. This - penalty is up to 23 points in the opening and goes to zero in the end - game. The King is penalized up to 8 points if there are no pawns - immediately adjacent. A penalty is invoked depending on the number of - "safe" checks available by the opponent. This penalty ranges from 6 - points for one such check to 50 points for 4 or more. Depending on - game stage, Kings are given up to 10 points for castling and a - penalty of up to 40 points for moving before castling. - - -SPECIAL - If more than one piece is "hung" (attacked and not defended or - attacked by an enemy piece of lower value) an extra penalty of 10 - points is invoked for that side and the search may be extended one - ply. Pinned or trapped pieces are treated similarly. A special mating - routine is used if one side has only a king and the other has mating - material. - diff --git a/gnu/games/chess/DOCUMENTATION/MAN-PAGE b/gnu/games/chess/DOCUMENTATION/MAN-PAGE deleted file mode 100644 index bbf0aa4abf98..000000000000 --- a/gnu/games/chess/DOCUMENTATION/MAN-PAGE +++ /dev/null @@ -1,161 +0,0 @@ -.TH Chess GNU -.SH NAME -Chess \- GNU Chess -.SH SYNOPSIS -.B Chess -[ -.B arg1 arg2 -] -.SH DESCRIPTION -.I Chess -plays a game of chess against the user or it plays against itself. -.PP -.I Chess -has a simple alpha-numeric board display or it can be compiled for -use with the CHESSTOOL program on a SUN workstation. -The program gets its opening moves from the file gnuchess.book which -should be located in the same directory as gnuchess. -To invoke the prgram, type 'gnuchess' or type 'chesstool gnuchess' -on a SUN workstation where 'CHESSTOOL' is installed. -The 'gnuchess' command can be followed by up to 2 command line arguments. -If one argument is given it determines the programs search time in -seconds. If two arguments are given, they will be used to set tournament -time controls with the first argument being the number of moves and the second -being the total clock time in minutes. Thus, entering 'chess 60 5' will set -the clocks for 5 minutes (300 seconds) for the first 60 moves. -If no argument is given the program will prompt the user for level of -play. -For use with CHESSTOOL, see the documentation on that program. -.PP -Once -.I Chess -is invoked, the program will display the board and prompt the user -for a move. To enter a move, use the notation 'e2e4' where the first -letter-number pair indicates the origination square -and the second letter-number pair indicates the destination square. -An alternative is to use the notation 'nf3' where -the first letter indicates the piece type (p,n,b,r,q,k). -To castle, type the origin and destination squares -of the king just as you would do for a regular move, or type -"o-o" for kingside castling and "o-o-o" for queenside. -.SH COMMANDS -.PP -In addition to legal moves, the following commands are available as responses. -.PP -.I beep --- causes the program to beep after each move. -.PP -.I bd --- updates the current board position on the display. -.PP -.I book --- turns off use of the opening library. -.PP -.I both --- causes the computer to play both sides of a chess game. -.PP -.I black --- causes the computer to take the black pieces with the move -and begin searching. -.PP -.I level --- allows the user to set time controls such as -60 moves in 5 minutes etc. In tournament mode, the program will -vary the time it takes for each -move depending on the situation. If easy mode is disabled (using -the 'easy' command), the program -will often respond with its move immediately, saving time on -its clock for use later on. -.PP -.I depth --- allows the user to change the -search depth of the program. The maximum depth is 29 ply. -Normally the depth is set to 29 and the computer terminates -its search based on elapsed time rather than depth. -Using the depth command allows setting depth to say -4 ply and setting response time to a large number such as -9999 seconds. The program will then search until all moves -have been examined to a depth of 4 ply (with extensions up -to 11 additional ply for sequences of checks and captures). -.PP -.I easy --- toggles easy mode (thinking on opponents time) -on and off. The default is easy mode ON. If easy mode is disabled, -the user must enter a 'break' or '^C' to get the programs -attention before entering each move. -.PP -.I edit --- allows the user to set up a board position. -In this mode, the '#' command will clear the board, the 'c' -command will toggle piece color, and the '.' command will exit -setup mode. Pieces are entered by typing a letter (p,n,b,r,q,k) for -the piece followed by the coordinate. For example "pb3" would -place a pawn on square b3. -.PP -.I force --- allows the user to enter moves for both -sides. To get the program to play after a sequence of moves -has been entered use the 'white' or 'black' commands. -.PP -.I get --- retrieves a game from disk. The program will -prompt the user for a file name. -.PP -.I help --- displays a short description of the commands. -.PP -.I hint --- causes the program to supply the user with -its predicted move. -.PP -.I list --- writes the game moves and some statistics -on search depth, nodes, and time to the file 'chess.lst'. -.PP -.I new --- starts a new game. -.PP -.I post --- causes the program to display the principle -variation and the score during the search. A score of -100 is equivalent to a 1 pawn advantage for the computer. -.PP -.I random --- causes the program to randomize its move -selection slightly. -.PP -.I reverse --- causes the board display to be reversed. That -is, the white pieces will now appear at the top of the board. -.PP -.I quit --- exits the game. -.PP -.I save --- saves a game to disk. The program will prompt -the user for a file name. -.PP -.I switch --- causes the program to switch places with -the opponent and begin searching. -.PP -.I undo --- undoes the last move whether it was the computer's -or the human's. You may also type "remove". This is equivalent -to two "undo's" (e.g. retract one move for each side). -.PP -.I white --- causes the computer to take the white pieces -with the move and begin searching. -.SH BUGS -.PP -Pawn promotion to pieces other than a queen is not allowed. -En-Passant does not work properly with CHESSTOOOL. -The transposition table may not work properly in some -positions so the default is to turn this off. -.fi -.SH SEE ALSO -.nf -chesstool(6) -.fi - |
