[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] Dragon dinners
From: |
bump |
Subject: |
Re: [gnugo-devel] Dragon dinners |
Date: |
Wed, 12 Feb 2003 10:38:48 -0800 |
> > How can dinners be identified? One thing that must
> > be borne in mind is that during the owl reading, stones
> > are played and removed. The function owl_find_lunches()
> > can declare a lunch found to be dinner but it does not
> > have access to the state of the board at the outset of
> > reading.
>
> Wouldn't the information in the worm[] array provide this to some
> extent?
No, I don't think there's any information in the worm array
that bears on this. I'm not sure what you mean.
> > The following scheme should work. There will be
> > two lists static in owl.c. The first list will be
> > the origins of unfriendly worms adjacent to the
> > dragon which are tactically alive. This list will
> > be initialized by owl_defend.
>
> How does this differ from the boundary[] array in struct
> local_owl_data?
The boundary array is updated during reading. The list
I'm proposing would NOT be updated.
It would be a list of tactically safe adjacent worms.
It would not be updated or changed during reading. But
if during owl_defend one of these worms is identified
as a lunch (or captured) that worm is a dragon dinner
and is identified as such.
> > There will be another list of dragon dinners,
> > initially empty. If owl_find_lunches ever finds a
> > dragon lunch which is in the same string as one
> > of the stones in the first list, then it will add
> > it to a list of dragon dinners.
>
> Does it make sense to store this in a static list? Dinners found in
> discarded parts of the search tree shouldn't be very relevant.
You are right, of course. The dragon dinner must be passed
upwards as a new field in do_owl_attack and do_owl_defend.
Perhaps identifying a single dragon dinner is sufficient.
(Or maybe not.)
Dan