Tuning GNU Go

HELPING GNU GO FIND THE VARIATION

In GNU Go 2.6, life and death was handled exclusively by a type of graph based static analysis of the eyeshapes. This does not work well in situations where the dragon has some room to maneuver, so current versions of GNU Go (2.7.xx and the future 3.0) implement Optics with Limit-Negotiation (OWL), a scheme whereby a small variation tree is generated. The terminal nodes are ones which can be treated by the same type of static analysis is used in 2.6. This code is fairly successful. It can be tuned by editing two databases patterns/owl_defendpats.db and owl_attackpats.db.

Running gnugo --quiet -l tune.sgf -L132 --decidedragon H7 -o vars.sgf we learn that the owl code finds that:


H7 can be attacked at H2 (16 variations)
H7 cannot be defended (39 variations)

This produces a variation tree in the SGF file vars.sgf which you can navigate using CGoban. The tree looks like this, and I've put the cursor on the most significant node:

This is the position:

The comment in the file at this point states:


defense move at H7 (variation 36, hash 313eb3e1)
owl_defend H7: 0 (genus 0)

This node only has one daughter, so only one move was considered at this point, and it was not G1. The move considered was H2 (not shown). Thus we need to add a pattern in owl_defendpats.db. The following pattern may seem very specific but since the comb formation is a basic one, there is no need to over-generalize it.


Pattern D195
# db added (2.7.201)

?OOO? comb formation
O.X.O
O.*.O
-----

:8,-,value(50)

Since the two center points in this formation may be regarded as miai, we add another pattern:


Pattern D196
# db added (2.7.201)

?OOO? comb formation
O.*.O
O.X.O
-----

:8,-,value(50)

After these patterns are added, GNU Go finds the right move, as gnugo --quiet -l tune.sgf -L132 --decidedragon H7 -o vars.sgf reports that


H7 can be attacked at H2 (16 variations)
H7 can be defended at J1 (44 variations)

and the resulting variation tree looks very reasonable. This fixes the problem at this move, although we could go on and analyze why GNU thinks that F19 kills the top group.

Some caveats.

Back to the GNU Go development page.
Return to GNU's home page.

Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

Copyright (C) 1999 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: 17 Dec 2000 bump