Re: [computer-go] Liberties in Many Faces
Next question: what about captures? Do you have to re-walk the neighboring chains when a capture occurs? Peter Drake http://www.lclark.edu/~drake/ On May 31, 2009, at 9:27 PM, David Fotland wrote: 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 ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
Re: [computer-go] Liberties in Many Faces
On May 31, 2009, at 9:27 PM, David Fotland wrote: 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 :) Crystal clear -- thanks! Peter Drake http://www.lclark.edu/~drake/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
[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 computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/
RE: [computer-go] Liberties in Many Faces
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: computer-go-boun...@computer-go.org [mailto:computer-go- boun...@computer-go.org] 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 computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/ ___ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/