gnugo-devel
[Top][All Lists]
Advanced

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

RE: [gnugo-devel] owl stack


From: Arend Bayer
Subject: RE: [gnugo-devel] owl stack
Date: Tue, 13 May 2003 15:50:30 +0200 (CEST)

Nando wrote:

> Paul wrote:
>
> > before i go deeper into the matter i want to ask: what for do we
> > push the complete local_owl_data structure each time owl makes a
> > move? from a quick glance it seems to me that at least my_eye[],
> > half_eye[], lunch*[], inessential[] and safe_move_cache[] are
> > recomputed from scratch at each move (and they probably take over
> > 90% of the structure).
>
> Well, in the case of my_eye[] and half_eye[], it seems to me that they
> are not always recomputed. In do_owl_defend() we have :
>
>   /* First see whether we might already be alife. */
>   if (escape < MAX_ESCAPE) {
>     if (owl_estimate_life(owl, ...
>
> which makes me wonder how accurate are owl_eyespace() constraints once
> the escape variable has reached MAX_ESCAPE...
>
> Or am I missing something again ?

I think you are right. As usual, two optimizations biting each other.
I think we either have to
1. undo Paul's patch,
2. or add a special flag for this case.
3. Or we should call owl_estimate_life, but ignore the moves it generates.
4. Or just zero the eye spaces.

I think I am mostly in favor of 3.

About the accuracy of owl_eyespace() constraints (wihtout Paul's patch):
Probably it's not _that_ bad becase the eye spaces still get recomputed from
do_owl_attack(), so they are only one move outdated.

Arend






reply via email to

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