[computer-go] Speed of generating random playouts
Petr Baudis
pasky at ucw.cz
Tue Nov 13 12:57:07 PST 2007
On Tue, Nov 13, 2007 at 03:32:03PM -0500, John Tromp wrote:
> On Nov 13, 2007 2:48 PM, Petr Baudis <pasky at ucw.cz> wrote:
>
> > I'm now somewhat torn. The speedup from using pseudo-liberty counts
> > could be huge, estimating from my profiling. On the other hand, it would
> > be very useful to still be able to quickly check if a group is in atari
> > - it looks like if atari stones would get special attention during the
> > random games, that could make the bot a lot stronger.
> >
> > Is there any known way to get the best of the both worlds? :-)
>
> Yes, you can generalize pseudoliberties by extending them
> with another field, such that if the (summed) pseudoliberty field
> is between 1 and 4, then the other (summed) field will tell you if all these
> are coming from a single true liberty.
Wow, that's great idea! I was trying to think along these lines but
realized the implementation only after reading what you wrote.
I guess you mean something in the spirit of:
group.xyzzy = 0
add_liberty(group, coord)
group.xyzzy += as_int(coord)
remove_liberty(group, coord)
group.xyzzy -= as_int(coord)
in_atari(group)
group.pseudlibs <= 4 && is_liberty(group, as_coord(group.xyzzy))
--
Petr "Pasky" Baudis
We don't know who it was that discovered water, but we're pretty sure
that it wasn't a fish. -- Marshall McLuhan
More information about the computer-go
mailing list