[Contents]   [Back]   [Prev]   [Up]   [Next]   [Forward]  


Analyzing games stored in SGF files using GNU Go

Interpreting Traces

A quick way to find out roughly the reason for a move is to run

gnugo -l filename -t -a -w -L move number

(You may also want to add --quiet to suppress the copyright message.) In GNU Go 2.6, the weights with which each move is proposed are listed.

The Output File

If GNU Go is invoked with the option -o filename it will produce an output file. This option can be added at the command line in the Go Modem Protocol Setup Window of CGoban. The output file will show the locations of the moves considered and their weights. It is worth noting that by enlarging the CGoban window to its fullest size it can display 3 digit numbers. Dragons with status DEAD are labelled with an `X', and dragons with status CRITICAL are labelled with a `?'.

Another type of SGF output file is provided by --analyzerfile (see section Invoking GNU Go: Command line options).

Checking the reading code

The --decidestring option is used to check the reading code. This option takes an argument, which is a location on the board in the usual algebraic notation (e.g. --decidestring C17). This will tell you whether the reading code believes the string can be captured, and if so, whether it believes it can be defended, which moves it finds to attack or defend the move, how many nodes it searched in coming to these conclusions. Note that when GNU Go runs normally (not with --decidestring) the points of attack and defense are cached in worm.attack and worm.defend. Later, however, they may be moved, for example during shapes() in response to a D pattern, so the final points of attack and defense which are found may differ from those found by --decidestring.

If used with an output file (-o filename) --decidestring will produce a variation tree showing all the variations which are considered.

Scoring the game

GNU Go can score the game. If done at the last move, this is usually accurate unless there is a seki. Normally GNU Go will report its opinion about the score at the end of the game, but if you want this information about a game stored in a file, use the --score option.

gnugo --score last -l filename

loads the sgf file and estimates the winner after the last stored move by measuring the influence.

gnugo --score end -l filename

loads the sgf file and GNU Go continues to play after the last stored move by itself up to the very end. Then the winner is determined by counting the territory.

gnugo --score L10 -l filename

loads the sgf file until a stone is placed on L10. Now the winner will be estimated as with gnugo --score last.

gnugo --score 100 -l filename

loads the sgf file until move number 100. Now the winner will be estimated as with gnugo --score last.

If the option -o outputfilename is provided, the results will also be written as comment at the end of the output file.

If the option --analyzerfile outputfilename is provided, the results will be written as comment at the end of the output file, the result property will be set and the territory will be marked.

Colored Display

Dragon Display

You can get a colored ASCII display of the board in which each dragon is assigned a different letter; and the different safety values (ALIVE, DEAD, UNKNOWN, CRITICAL) have different colors. This is very handy for debugging.

Save a game in sgf format using CGoban, or using the -o option with GNU Go itself.

Open an rxvt window. (Xterm will not work. You may also use the Linux console.)

Execute:

gnugo -l [filename] -L [movenum] -T to get the colored display.

The color scheme: Green = ALIVE; Yellow = UNKNOWN; White = DEAD and Red = CRITICAL. Worms which have been amalgamated into the same dragon are labelled with the same letter.

Other useful colored displays may be obtained by using instead:

Eye Space Display

Instead of -T, try this with -E. This gives a colored display of the eyespaces, with marginal eye spaces marked `!' (see section Eyes and Half Eyes).

Moyo Display

The option -m level can give colored displays of the various quantities which are computed in `engine/moyo.c'.

The moyos found by GNU Go can be displayed from an rxvt window or from the Linux console using the -m option. This takes a parameter:

-m level
   use cumulative values for printing these debug reports :
    1 = ascii printing of territorial evaluation (5/21)
    2 = table of delta_terri values
    4 = ascii printing of moyo evaluation (5/10)
    8 = table of delta_moyo values
   16 = ascii printing of area (weak groups?) (4/0)
   32 = list of area characteristics
   64 = table of meta_connect values
  128 = trace -p fearless option (big_move priority)

Definitions of these fields is given elsewhere (see section Moyo).


[Contents]   [Back]   [Prev]   [Up]   [Next]   [Forward]