gnugo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] guess_eye_space()


From: Daniel Bump
Subject: Re: [gnugo-devel] guess_eye_space()
Date: Sun, 2 Dec 2001 06:04:35 -0800

> Until a recent change guess_eye_space() would always return the same
> min and max values. I happened to break this because I had forgot the
> importance of it and as you write it's no problem for
> owl_attack/owl_defend. The simplest solution to the whole problem is
> to revise guess_eye_space() to retain this behavior.

You introduced the function guess_eye_space() in your patch
gunnar_1_12.2 and the original form of this function in 3.1.12
was the same as it is now. Previously this bit of code was
inline in compute_eyes_pessimistic() but the max and min values
could still be different in 3.1.11 and indeed even in 3.0.0.

This stuff goes waaay back. The comment in the code survives
from 2.4. And yes, in 2.4 max and min were always the same!

> This will most likely break the optics badly. After this change, if a
> vital point for an eye space with at least one margin has been found
> by recognize_eye(), it will be thrown away and replaced by an
> arbitrary margin. This is obviously bad.

Yes, it does break the regressions rather badly, as I
found out when I got up this morning.

On the bright side, it allows the regressions to finish
without crashing when you enable the experimental dfa. So
this is the only crash we need to fix. (I ran it on 2 machines
with and without --enable-experimental-semeai.)

> There are two correct fixes to the problem:
> 1. Revise guess_eye_space() to always return *max == *min.
> 2. Modify the proposed patch to something like
> 
>   if (attack_point
>       && *attack_point == NO_MOVE
>       && *max != *pessimistic_min)
> 
> This involves two assumptions. First that never only one of
> attack_point and defense_point is NULL or NO_MOVE, second that *min >=
> *pessimistic_min. 

Do you have a preferred solution to this?

Dan







reply via email to

[Prev in Thread] Current Thread [Next in Thread]