Re: [computer-go] Liberties in Many Faces

2009-06-02 Thread Peter Drake
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

2009-06-01 Thread Peter 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 :)



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

2009-05-31 Thread Peter Drake

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

2009-05-31 Thread David Fotland
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/