[computer-go] Speed of generating random playouts

Álvaro Begué alvaro.begue at gmail.com
Tue Dec 4 13:02:25 PST 2007


On Dec 4, 2007 3:57 PM, Zach Wegner <zwegner at gmail.com> wrote:

> On Nov 13, 2007 2:44 PM, Jason House <jason.james.house at gmail.com> wrote:
>
> >
> >
> > On Nov 13, 2007 3:32 PM, John Tromp <john.tromp at gmail.com> wrote:
> >
> > > > 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.
> >
> >
> > Can you elaborate on this?
> >
> > I'm a bit late on this, and I'm not sure if this hasn't been suggested
> yet. But, instead of these complicated codes, you could store in the extra
> field both the AND and the OR of all pseudoliberties. Then if they are
> equal, you have one real liberty.
>
> Example:
> Pseudoliberties at  27, 17, and 9 (binary 11011, 10001, and 01001),
> AND=00001 and OR=11011. AND != OR so there's more than one pseudoliberty.
>

How do you keep that updated cheaply as moves are made? For instance, if I
put a black stone next to a white chain, how do I update the OR and AND
pseudoliberty values for that chain? John's complicated solution only
requires storing a sum, which is always easy to update (in my example,
susbtract the value associated with the point where black just played).

Álvaro.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://computer-go.org/pipermail/computer-go/attachments/20071204/c7f508b3/attachment.htm


More information about the computer-go mailing list