178 lines
7.5 KiB
Plaintext
178 lines
7.5 KiB
Plaintext
|
|
This is GNU Go 3.8, a Go program. Development versions of GNU Go may be
|
|
found at @url{http://www.gnu.org/software/gnugo/devel.html}. Contact
|
|
us at @email{gnugo@@gnu.org} if you are interested in helping.
|
|
|
|
@menu
|
|
* About:: About GNU Go and this Manual
|
|
* Copyright:: Copyright
|
|
* Authors:: The Authors of GNU Go
|
|
* Thanks:: Acknowledgements
|
|
* Development:: Developing GNU Go
|
|
@end menu
|
|
|
|
@node About
|
|
@section About GNU Go and this Manual
|
|
|
|
The challenge of Computer Go is not to @strong{beat} the computer,
|
|
but to @strong{program} the computer.
|
|
|
|
In Computer Chess, strong programs are capable of playing at the highest
|
|
level, even challenging such a player as Garry Kasparov. No Go program
|
|
exists that plays at the same level as the strongest human players.
|
|
|
|
To be sure, existing Go programs are strong enough to be interesting
|
|
as opponents, and the hope exists that some day soon a truly
|
|
strong program can be written. This is especially true in view
|
|
of the successes of Monte Carlo methods, and a general recent
|
|
improvement of computer Go.
|
|
|
|
Before GNU Go, Go programs have always been distributed as binaries
|
|
only. The algorithms in these proprietary programs are secret. No-one
|
|
but the programmer can examine them to admire or criticise. As a
|
|
consequence, anyone who wished to work on a Go program usually had to
|
|
start from scratch. This may be one reason that Go programs have not
|
|
reached a higher level of play.
|
|
|
|
Unlike most Go programs, GNU Go is Free Software. Its algorithms and
|
|
source code are open and documented. They are free for any one to
|
|
inspect or enhance. We hope this freedom will give GNU Go's descendents
|
|
a certain competetive advantage.
|
|
|
|
Here is GNU Go's Manual. There are doubtless inaccuracies. The ultimate
|
|
documentation is in the commented source code itself.
|
|
|
|
The first three chapters of this manual are for the general
|
|
user. Chapter 3 is the User's Guide. The rest of the book is for
|
|
programmers, or persons curious about how GNU Go works. Chapter 4 is a
|
|
general overview of the engine. Chapter 5 introduces various tools for
|
|
looking into the GNU Go engine and finding out why it makes a certain
|
|
move, and Chapters 6--7 form a general programmer's reference to the GNU
|
|
Go API. The remaining chapters are more detailed explorations of
|
|
different aspects of GNU Go's internals.
|
|
|
|
@node Copyright
|
|
@section Copyrights
|
|
|
|
Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
|
and 2008 by the Free Software Foundation except as noted below.
|
|
|
|
All source files are distributed under the GNU General Public License
|
|
(@pxref{GPL}, version 3 or any later version), except @file{gmp.c},
|
|
@file{gmp.h}, @file{gtp.c}, and @file{gtp.h}.
|
|
|
|
The files @file{gtp.c} and @file{gtp.h} are copyright the Free Software
|
|
Foundation. In the interests of promoting the Go Text Protocol these
|
|
two files are licensed under a less restrictive license than the GPL
|
|
and are free for unrestricted use (@pxref{GTP License}).
|
|
|
|
The two files @file{gmp.c} and @file{gmp.h} were placed in the public domain
|
|
by William Shubert, their author, and are free for unrestricted use.
|
|
|
|
Documentation files (including this manual) are distributed under
|
|
the GNU Free Documentation License (@pxref{GFDL}, version 1.3 or any later
|
|
version).
|
|
|
|
The files @file{regression/games/golois/*sgf} are copyright Tristan
|
|
Cazenave and are included with his permission.
|
|
|
|
The SGF files in @file{regression/games/handtalk/} are copyright Jessie Annala
|
|
and are used with permission.
|
|
|
|
The SGF files in @file{regression/games/mertin13x13/} are copyright Stefan
|
|
Mertin and are used with permission.
|
|
|
|
The remaining SGF files are either copyright by the FSF or are in the public domain.
|
|
|
|
|
|
|
|
|
|
@node Authors
|
|
@section Authors
|
|
|
|
GNU Go maintainers are Daniel Bump, Gunnar Farneback and Arend
|
|
Bayer. GNU Go authors (in chronological order of contribution)
|
|
are Man Li, Wayne Iba, Daniel Bump, David Denholm, Gunnar
|
|
Farneb@"ack, Nils Lohner, Jerome Dumonteil, Tommy Thorn,
|
|
Nicklas Ekstrand, Inge Wallin, Thomas Traber, Douglas Ridgway,
|
|
Teun Burgers, Tanguy Urvoy, Thien-Thi Nguyen, Heikki Levanto,
|
|
Mark Vytlacil, Adriaan van Kessel, Wolfgang Manner, Jens
|
|
Yllman, Don Dailey, M@aa{}ns Ullerstam, Arend Bayer, Trevor
|
|
Morris, Evan Berggren Daniel, Fernando Portela, Paul
|
|
Pogonyshev, S.P. Lee and Stephane Nicolet, Martin Holters,
|
|
Grzegorz Leszczynski and Lee Fisher.
|
|
|
|
@node Thanks
|
|
@section Thanks
|
|
|
|
We would like to thank Arthur Britto, David Doshay, Tim Hunt, Matthias Krings,
|
|
Piotr Lakomy, Paul Leonard, Jean-Louis Martineau, Andreas Roever and Pierce
|
|
Wetter for helpful correspondence.
|
|
|
|
Thanks to everyone who stepped on a bug (and sent us a report)!
|
|
|
|
Thanks to Gary Boos, Peter Gucwa, Martijn van der Kooij, Michael
|
|
Margolis, Trevor Morris, M@aa{}ns Ullerstam, Don Wagner and Yin Zheng for help
|
|
with Visual C++.
|
|
|
|
Thanks to Alan Crossman, Stephan Somogyi, Pierce Wetter and Mathias Wagner
|
|
for help with Macintosh. And thanks to Marco Scheurer and Shigeru Mabuchi for
|
|
helping us find various problems.
|
|
|
|
Thanks to Jessie Annala for the Handtalk games.
|
|
|
|
Special thanks to Ebba Berggren for creating our logo, based on a
|
|
design by Tanguy Urvoy and comments by Alan Crossman. The old
|
|
GNU Go logo was adapted from Jamal Hannah's typing GNU:
|
|
@url{http://www.gnu.org/graphics/atypinggnu.html}.
|
|
Both logos can be found in @file{doc/newlogo.*} and @file{doc/oldlogo.*}.
|
|
|
|
We would like to thank Stuart Cracraft, Richard Stallman and Man Lung Li for
|
|
their interest in making this program a part of GNU, William Shubert for
|
|
writing CGoban and gmp.c, Rene Grothmann for Jago and Erik van Riper and his
|
|
collaborators for NNGS.
|
|
|
|
|
|
@node Development
|
|
@section Development
|
|
|
|
You can help make GNU Go the best Go program.
|
|
|
|
This is a task-list for anyone who is interested in helping with GNU
|
|
Go. If you want to work on such a project you should correspond with
|
|
us until we reach a common vision of how the feature will work!
|
|
|
|
A note about copyright. The Free Software Foundation has the copyright
|
|
to GNU Go. For this reason, before any code can be accepted as a part of
|
|
the official release of GNU Go, the Free Software Foundation will want
|
|
you to sign a copyright assignment.
|
|
|
|
Of course you could work on a forked version without signing
|
|
such a disclaimer. You can also distribute such a forked version of the
|
|
program so long as you also distribute the source code to your
|
|
modifications under the GPL (@pxref{GPL}). But if you want
|
|
your changes to the program to be incorporated into the
|
|
version we distribute we need you to assign the copyright.
|
|
|
|
Please contact the GNU Go maintainers, Daniel Bump
|
|
(@email{bump@@sporadic.stanford.edu}) and Gunnar Farneb@"ack
|
|
(@email{gunnar@@lysator.liu.se}), to get more information and the
|
|
papers to sign.
|
|
|
|
Bug reports are very welcome, but if you can, send us bug FIXES as well as bug
|
|
reports. If you see some bad behavior, figure out what causes it, and what to
|
|
do about fixing it. And send us a patch! If you find an interesting bug and
|
|
cannot tell us how to fix it, we would be happy to have you tell us about it
|
|
anyway. Send us the sgf file (if possible) and attach other relevant
|
|
information, such as the GNU Go version number. In cases of assertion failures
|
|
and segmentation faults we probably want to know what operating system and
|
|
compiler you were using, in order to determine if the problem is platform
|
|
dependent.
|
|
|
|
If you want to work on GNU Go you should subscribe to the
|
|
@uref{http://lists.gnu.org/mailman/listinfo/gnugo-devel,
|
|
GNU Go development list.} Discussion of bugs and feedback
|
|
from established developers about new projects or tuning
|
|
the existing engine can be done on the list.
|
|
|