[computer-go] Problems in SGF format

Antoine de Maricourt antoine.de-maricourt at m4x.org
Sun Oct 1 13:49:07 PDT 2006


Martin Müller and Tristan Cazenave developped a language to describe 
properties of positions. It seems a little bit complicated for your 
purpose. You can have a look at:

http://www.cs.ualberta.ca/~mmueller/cgo/readmenew.html

I was one of the (probably many) people that suggested Thomas Wolf to 
use SGF. However, I found out that SGF files were not practical to 
handle large collections of problems. I finally developped a small 
custom database-like format that I found much more convenient to use. 
The main problem I had with SGF files was to automatically add new 
positions that caused an assertion to fail in my program (in order to 
build non-regression tests), and to ensure I did not add duplicated 
positions in the collection.

In order to encode goals attached to a position, I use a straitforward 
representation. Primary goals are boolean function of up to 3 block ID. 
For instance 'capture(block_X)' or 'connect(block_X,block_Y)'. Then the 
goal is encoded as a boolean function of primary goals, using AND, OR 
and NOT operators. The format I use allows up to 4 block ID to be used. 
I never needed more. The result is the expected value of the boolean 
function (true or false) + an ID that identifies the method used to get 
this result.

Antoine
> I have a relatively small set with tactical problems that I use for 
> unit-tests. When making the Tsume-Go program we used to have a very 
> large set of problems we used for regression testing, for which we 
> used a custom format.
>
> Instead of hard-coding each problem as a unit-test, what I do now, I 
> think it would be much handier if I could put them in a SGF file. So 
> my question is if there's a standard way defined to represent such 
> problems. What I'm looking for is a standard way to express "Black to 
> play and catch the stone(s) at X,Y." Or "Black to play and escape 
> (live) with stones X,Y".
>
> Those are probably the only two types of problems I need. But what 
> also needs to be expressed in the SGF file is the result of the 
> problem so that it can be compared with the result of the  search. 
> This could look like something like "Black is alive (or escaped) when 
> playing X,Y". From the Tsume-Go program I learnt that ko-type 
> situations can best be described by a number of passes. For example 
> "Black is alive (or escaped) when playing X,Y, White passed twice." 
> would mean Black is alive in a two-step ko. The more passes, the worse 
> the result. The only exceptions to those were "alive in seki" and 
> "dead in bent-four" as special cases. Seki is considered to be 
> slightly worse than simply alive, whereas "dead in bent-four" is 
> slightly worse than "dead", although it's a minor thing that I 
> wouldn't mind lumping together with "alive" and "dead".
>
> Mark
>
> _______________________________________________
> computer-go mailing list
> computer-go at computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
>


More information about the computer-go mailing list