1) yes. I maintain liberty counts during MC playouts. 2) Something else. I remove one liberty from the adjacent chain, then look at the empty points adjacent to the new stone and check if they are also adjacent to the adjacent chain, and adjust the liberty counts accordingly. At most 3 checks are required. I only have to walk a full chain when a move merges two or more chains. I hope this is clear :)
David > -----Original Message----- > From: [email protected] [mailto:computer-go- > [email protected]] On Behalf Of Peter Drake > Sent: Sunday, May 31, 2009 7:52 PM > To: Computer Go > Subject: [computer-go] Liberties in Many Faces > > On April 6, David Fotland wrote: > > > In Many Faces' playouts I don't keep arrays of liberties. I just > > keep the counts. In the older program I keep linked lists of > > liberties. > > > On April 7 he elaborated: > > > Yes, I walk both chains looking for duplicates. This is quite fast > > if done efficiently, since group merging is rare enough. I found > > keeping the liberty arrays to be slower since they are big, so there > > is more copy overhead in the UCT tree, and they are not cache > > friendly. > > Two questions: > > 1) Do you maintain the counts even in MC playouts? > > 2) What do you do if you add a single stone to a chain? Do you walk > the enlarged chain counting liberties (and checking for duplicates > within the temporary liberty list), create a new one-stone chain and > then perform merging, or something else? > > Thanks, > > Peter Drake > http://www.lclark.edu/~drake/ > > > > _______________________________________________ > computer-go mailing list > [email protected] > http://www.computer-go.org/mailman/listinfo/computer-go/ _______________________________________________ computer-go mailing list [email protected] http://www.computer-go.org/mailman/listinfo/computer-go/
