[Computer-go] Determining the final board state for finished games

Petr Baudis pasky at ucw.cz
Sun Jul 26 04:24:37 PDT 2015

On Sun, Jul 26, 2015 at 12:22:57AM -0400, David Fotland wrote:
> In general this is beyond the state of the art of the strongest go programs.  You can’t score without determining the status of every group (live, dead, seki), and you may need to identify required interior defensive moves that have not been played.

While in general that's true, I think for practical concerns, this
paints a too gloomy picture.

In general, the algorithm (when using Chinese rules) is pretty simple:

  A. Identify dead groups and remove them from the board.

  B. For each continuous empty area, determine if it touches only stones
     of a single color.  In that case, color it that way.

  C. Count number of intersections colored each way.

The trick is of course in the step A.

I'd be interested to hear if anyone tried and could measure+compare the
accuracy of the following approaches:

  * Use gnugo --score {estimate,finish,aftermath} to determine the score
    and group status.

  * Use one of the Monte Carlo engines to run N hundred simulations from
    the end position; if an intersection is colored by color X in >=80%
    of Monte Carlo final positions, declare it X's territory.

  * Use Benson life algorithm and some simple heuristics to determine
    life and death.  (optional)

				Petr Baudis
	If you have good ideas, good data and fast computers,
	you can do almost anything. -- Geoffrey Hinton

More information about the Computer-go mailing list