Documentation for the GNU Go Project Edition 3.0.0 August, 2001

By Daniel Bump, David Denholm, Jerome Dumonteil, Gunnar Farneb¨ack, Thomas Traber, Tanguy Urvoy, Inge Wallin GNU GO 3.0

Copyright °c 1999, 2000, 2001 Foundation, Inc.

This is Edition 3.0.0 of The GNU Go Project documentation, for the 3.0 version of the GNU GO program.

Published by the 675 Massachusetts Avenue Cambridge, MA 02139-3309 USA Phone: +1-617-876-3296

Permission is granted to make and distribute verbatim or modified copies of this manual is given provided that the terms of the GNU Free Documentation License (see Section A.2 [GFDL], page 179) are respected. Permission is granted to make and distribute verbatim or modified copies of the program GNU Go is given provided the terms of the GNU General Public License (see Section A.1 [GPL], page 173) are respected. Chapter 1: Introduction 1

1 Introduction

This is GNU Go 3.0, a Go program. Development versions of GNU Go may be found at http://www.gnu.org/software/gnugo/devel.html. Contact us at gnugo@.org if you are interested in helping.

1.1 About GNU Go and this Manual

The challenge of is not to beat the computer, but to program the computer. In Computer , strong programs are capable of playing at the highest level, even challenging such a player as Garry Kasparov. No Go program even as strong as amateur shodan exists. The challenge is to write such a program. 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. GNU Go is getting stronger. For one thing, we’ve paid a lot of attention to life and death. GNU Go 3.0 can consistently give GNU Go 2.6 a four stone . In a four stone game against GNU Go 2.6, GNU Go 3.0 very often kills a group. Until now, 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 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 documenta- tion 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.

1.2 Copyrights

Copyright 1999, 2000, 2001 by the Free Software Foundation except for the files ‘gmp.c’ and ‘gmp.h’, which are copyrighted by Bill Shubert ([email protected]). All files are under the GNU General Public License (see Section A.1 [GPL], page 173), except ‘gmp.c’, ‘gmp.h’, ‘gtp.c’, ‘gtp.h’, the files ‘interface/html/*’ and ‘win/makefile.win’. The two files ‘gmp.c’ and ‘gmp.h’ were placed in the public domain by William Shubert, their author, and are free for unrestricted use. Chapter 1: Introduction 2

The files ‘gtp.c’ and