www.delorie.com
/
gnu
/
docs
/
gnugo
/gnugo_toc.html
search
Buy GNU books!
GNU Go Documentation
[
Top
]
[
Contents
]
[
Index
]
[
?
]
Table of Contents
GNU GO
1. Introduction
1.1 About GNU Go and this Manual
1.2 Copyrights
1.3 Authors
1.4 Thanks
1.5 The GNU Go Task List
1.5.1 General
1.5.2 Smaller projects
1.5.3 Long term issues
1.5.4 Ideas
2. Installation
2.1 GNU/Linux and Unix
2.2 Configure Options
2.2.1 Ram Cache
2.2.2 Default Level
2.2.3 DFA Configure Option
2.2.4 Experimental Options
2.3 Compiling GNU Go on Microsoft platforms
2.3.1 Windows 95/98, MS-DOS and Windows 3.x using DJGPP
2.3.2 Windows NT, Windows 95/98 using Cygwin
2.3.3 Windows NT, Windows 95/98 using MinGW32
2.3.4 Windows NT, Windows 95/98 using Visual C and project files
2.3.5 Running GNU Go on Windows NT and Windows 95/98
2.4 Macintosh
3. Using GNU Go
3.1 Getting Documentation
3.2 Running GNU Go via CGoban
3.3 Ascii Interface
3.4 GNU Go mode in Emacs
3.5 Running GNU Go via Jago
3.6 The Go Modem Protocol and Go Text Protocol
3.7 Computer Go Tournaments
3.8 Smart Go Format
3.9 Invoking GNU Go: Command line options
3.9.1 Some basic options
3.9.2 Other general options:
3.9.3 Other options affecting strength and speed
3.9.4 Ascii Mode Options
3.9.5 Development options:
4. GNU Go engine overview
4.1 Definitions
4.2 Move Generation Basics
4.2.1 Information gathering
4.2.2 Move generation in GNU Go 3.2
4.2.3 Selecting the Move
4.3 Examining the Position
4.4 Sequence of Events
4.5 Roadmap
4.5.1 Files in
`engine/'
4.5.2 Files in
`patterns/'
4.6 Coding styles and conventions
4.6.1 Coding Conventions
4.6.2 Tracing
4.6.3 Assertions
4.6.4 FIXME
4.7 Navigating the Source
5. Analyzing GNU Go's moves
5.1 Interpreting Traces
5.2 The Output File
5.3 Checking the reading code
5.4 Checking the Owl code
5.5 GTP and GDB techniques
5.6 Debugboard
5.7 Scoring the game
5.8 Colored Display
5.8.1 Dragon Display
5.8.2 Eye Space Display
5.8.3 Moyo Display
6. Application Programmers Interface to GNU Go
6.1 How to use the engine in your own program: getting started
6.2 Basic Data Structures in the Engine
6.3 The board_state struct
6.4 Functions which manipulate a Position
6.5 Game handling
6.5.1 Functions which manipulate a Gameinfo
7. Handling SGF trees in memory
7.1 Functions which manipulate SGF nodes and properties
7.1.1 Low level functions
7.1.2 Functions which manipulate SGF properties
7.1.3 Functions which manipulate SGF nodes
7.1.4 High level functions
7.2 The SGFTree datatype
7.2.1 Functions that manipulate sgftrees
8. The Board Library
8.1 Board Data structures
8.2 Board Functions
8.2.1 Setup Functions
8.2.2 Move Functions
8.2.3 Status Functions
8.2.4 String and Miscellaneous Functions
8.2.5 Miscellaneous Functions
9. Move generation
9.1 Introduction
9.2 Overview
9.3 Information gathering
9.4 Generation of move reasons
9.5 Detailed Descriptions of various Move Reasons
9.5.1 Attacking and defending moves
9.5.2 Threats to Attack or Defend
9.5.3 Multiple attack or defense moves
9.5.4 Cutting and connecting moves
9.5.5 Semeai winning moves
9.5.6 Making or destroying eyes
9.5.7 Antisuji moves
9.5.8 Territorial moves
9.5.9 Attacking and Defending Dragons
9.5.10 Combination Attacks
9.6 Valuation of suggested moves
9.6.1 Territorial Value
9.6.2 Strategical Value
9.6.3 Shape Factor
9.6.4 Minimum Value
9.6.5 Secondary Value
9.6.6 Threats and Followup Value
9.7 Move Generation Functions
9.8 Move Valuation Functions
9.9 End Game
10. Worms and Dragons
10.1 Worms
10.2 Amalgamation
10.3 Amalgamation of cavities
10.4 Amalgamation of strings
10.5 Connection
10.6 Half Eyes and False Eyes
10.7 Dragons
10.8 Colored Dragon Display
10.9 Worm and Dragon Functions
11. Eyes and Half Eyes
11.1 Local games
11.2 Eye spaces
11.3 The eyespace as local game
11.4 An example
11.5 Graphs
11.6 Eye shape analysis
11.7 Topology of Half Eyes and False Eyes
11.8 Eye Topology with Ko
11.9 False Margins
11.10 Functions in
`optics.c'
12. The Pattern Code
12.1 Overview
12.2 Pattern Attributes
12.2.1 Constraint Pattern Attributes
12.2.2 Action Attributes
12.3 Pattern Attributes
12.4 Helper Functions
12.5 Autohelpers and Constraints
12.6 Autohelper Actions
12.7 Autohelper Functions
12.8 Attack and Defense Database
12.9 The Connections Database
12.10 Connections Functions
12.11 Tuning the Pattern databases
12.12 Implementation
12.13 Symmetry and transformations
12.14 Implementation Details
12.15 The "Grid" Optimization
12.16 The Joseki Compiler
12.17 Ladders in Joseki
13. The DFA pattern matcher
13.0.1 Introduction to the DFA
13.0.2 What is a DFA
13.0.3 Pattern matching with DFA
13.0.4 Building the DFA
13.0.5 Incremental Algorithm
13.0.6 Some DFA Optimizations
14. Tactical reading
14.1 Reading Basics
14.2 Hashing of Positions
14.2.1 Calculation of the hash value
14.2.2 Organization of the hash table
14.2.3 Hash Structures
14.2.4 Hash Functions
14.2.5 Persistent Reading Cache
14.3 Ko Handling
14.4 A Ko Example
14.5 Another Ko Example
14.6 Alternate Komaster Schemes
14.6.1 Essentially the 2.7.232 scheme.
14.6.2 Revised 2.7.232 version
14.7 Superstrings
14.8 Reading Functions
14.9 Debugging the reading code
15. Life and Death Reading
15.1 The Owl Code
15.2 Functions in
`owl.c'
16. Influence Function
16.1 Conceptual Outline of Influence
16.2 Where influence gets used in the engine
16.3 Influence and Territory
16.4 Details of the Territory Valuation
16.5 The Core of the Influence Function
16.6 The Core of the Influence Function
16.7 Permeability
16.8 Escape
16.9 Patterns used by the Influence module
16.10 Influential Functions
16.11 Colored display and debugging of influence
17. Moyo
17.1 Moyo history
17.2 Bouzy's 5/21 algorithm
18. Utility Functions
18.1 General Utilities
18.2 Print utilities
19. Incremental Algorithms in Reading
20. The Go Text Protocol
20.1 The GNU Go Text Protocol
20.2 Protocol applications
20.3 Protocol conventions
20.4 Regression testing with GTP
21. Regression testing
21.1 Regression testing in GNU Go
21.2 Test suites
21.3 Performing tests
21.4 HTML Regression Views
A. Copying
A.1 GNU GENERAL PUBLIC LICENSE
Preamble
How to Apply These Terms to Your New Programs
A.2 GNU FREE DOCUMENTATION LICENSE
ADDENDUM: How to use this License for your documents
A.3 The Go Text Protocol License
Concept Index
Functions Index
webmaster
donations
bookstore
delorie software
privacy
Copyright © 2003
by The Free Software Foundation
Updated Jun 2003