[computer-go] Efficiently selecting a point to play in a random playout

Peter Drake drake at lclark.edu
Tue Jun 5 12:28:30 PDT 2007


Don't maintain the list of legal moves -- maintain the list of vacant  
points (almost all of which are legal). When it's time to pick a  
move, pick a random point in the list and iterate through checking  
each move for legality. As soon as you find a legal one, play it.

(My "legality" check does eliminate playing in a probable eye.)

Peter Drake
http://www.lclark.edu/~drake/



On Jun 5, 2007, at 12:18 PM, Jason House wrote:

>
>
> On 6/5/07, Don Dailey <drdailey at cox.net> wrote:
> But if you are taking the vacant points out it is probably not
> too biased as you say.
>
> But what I do is pretty fast.  Always choose a random point but
> keep shrinking the list.  When a point is occupied move it out
> of the way so it's never selected again.   You have to do some
> simple bookeeping - basically swapping the position of elements
> and shrinking the list (in your terminology, maintaining a set
> of empty points.)
>
>
> Do you eliminate all illegal/stupid positions?  Filling eyes?  
> Suicide plays?  Disallowing suicides likely means you need a list  
> for each color.  Sadly, if a move was rejected because it was an  
> illegal suicide and then the enemy chain puts itself in atari, the  
> simple capture move would have been pruned.
>
>
> I don't think this is any slower than what you are proposing.
>
> I start a random game by collect vacant points - but after a
> capture move you have to re-do this operation.   Still, it's 2X
> faster to collect vacant points together like (even if you are
> doing everything else this way.)
>
>
> It's likely that you could do an incremental update after a capture  
> instead of recomputing the entire list.  The only real issue is any  
> moves pruned because of suicides (potentially far away from the  
> captured chain, but guaranteed no more than one per neighboring chain)
> _______________________________________________
> computer-go mailing list
> computer-go at computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://computer-go.org/pipermail/computer-go/attachments/20070605/3e2195e2/attachment.htm


More information about the computer-go mailing list