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

2015-07-26 Thread Ray Tayek

On 7/25/2015 8:57 PM, Rafael Sakurai wrote:

... I'm also new with computer Go, and I have the same doubt. ...

Hi Justin, I started to draft a Go API in Java, the goal is to create 
an API with the main game logic and anyone can use with their own 
visual interface ...


Please, let me know if this project is of interest to you .. 
https://github.com/rafaelsakurai/GoAPI/



i had an api and code for humans playing. it looked similar to yours.

i recently added some features to play different board shapes and 
topologies.


if you want to be able to edit games and look at variations, then the 
data structure that you end up with is a binary tree of sgf nodes (or 
something very similar).


if you want to play with another program or write a go server, then you 
need to talk gtp or go modem protcol. these api's were very different 
than my original api.


thanks


--
Honesty is a very expensive gift. So, don't expect it from cheap people - 
Warren Buffett
http://tayek.com/

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

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

2015-07-26 Thread Petr Baudis
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
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go