[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] Owl code & shoulders
From: |
Gunnar Farneback |
Subject: |
Re: [gnugo-devel] Owl code & shoulders |
Date: |
Wed, 17 Oct 2001 17:42:33 +0200 |
User-agent: |
EMH/1.14.1 SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.3 Emacs/20.7 (sparc-sun-solaris2.7) (with unibyte mode) |
Trevor wrote:
> Does the OWL code have any support for identifying shoulders of eyes?
> The following points labelled A, B, and C are what I mean by shoulders:
>
>
> AOA BOB CO|
> O.O O.O O.|
> AOA --- --+
>
>
> In the first case, O must control (either with a stone there, or by
> being able to capture an X stone put there) 3 or the 4 shoulders
> (labeled A) for the '.' to be an eye. (There are, of course, very
> strange exceptions, but this is almost always true.)
>
> In the second case, O must control both shoulders (labeled B).
>
> In the third case, O must control the single should C for '.' to
> be an eye.
Yes, this is called "Topological Eye Analysis" in GNU Go and is
documented in doc/eyes.texi. It's implemented in the functions
topological_eye() and evaluate_diagonal_intersection() in optics.c.
The owl code calls topological_eye() from within owl_determine_life().
> Problem trevor.tst 450 (in the attached patch tar.gz) is an example
> where such a concept would be very useful, either in the core OWL
> code, or as helper functions to OWL patterns, I think. I'm not
> sure quite how to attack this one.
I'll take a look at this later, but you can rest assured that without
knowing this concept at all, the life and death reading of GNU Go
would surely be a magnitude weaker. :-)
/Gunnar