[computer-go] 10k UCT bots

Mark Boon tesujisoftware at gmail.com
Tue May 13 12:08:57 PDT 2008


On 13-mei-08, at 15:44, Álvaro Begué wrote:

> On Tue, May 13, 2008 at 2:28 PM, Mark Boon  
> <tesujisoftware at gmail.com> wrote:
>>
>> On 13-mei-08, at 15:08, Jason House wrote:
>>
>> The range of the random number is reduced by one after each failed  
>> lookup.
>> Shuffled data has no impact on future use of the array of empty  
>> points.
>>
>> OK, I understand now why a point at the end (or beginning) is a  
>> little less
>> likely to be picked. Although I still have doubts whether that  
>> will lead to
>> a noticable bias, I'll try to think about it.
>
> I don't care much about it being noticeable. This thread is about
> putting bots on CGOS that use a reproducible algorithm, to help people
> detect bugs in their implementations. As part of specifying what these
> bots do, we should all pick the next move in a playout using the same
> criteria. If we agree to use uniform distribution among empty
> non-eyeish points, that's what should be implemented.
>

Indeed it seems I misunderstood. I thought the general algorithm  
needed to be the same, not necessarily the exact implementation. Why  
not publish some pseudo-code with the exact statements then? Seems a  
bit less prone to errors then by talking about it.

>> I would imagine moving an illegal point towards the end and only  
>> start
>> including it when the other 'legal' moves run out can lead to  
>> terrible bias
>> however because they may not remain illegal for very long and  
>> actually
>> become important points to play. A ko-point is probably the most  
>> extreme
>> example of that.
>
> I don't think you understood the algorithm. The eyeish point is
> removed from the lottery only for picking this particular move, not
> for the rest of the playout.

Yes, again I misunderstood. So you do another random lookup each time  
you hit an illegal point? That could turn out very expensive,  
especially by the end of the game.

>
>> Anyway, I don't bother to order the empty-point-list or scramble  
>> them in any
>> way prior to the game. So the first point is the 1-1 point and the  
>> last is
>> the 19-19 point (or whatever boardsize you're playing) so I have  
>> no qualms
>> about those moves being a little less likely to be played. Or even  
>> a lot
>> less. I think it would actually be beneficial.
>
> Reproducibility was the point, not strength of the bot.

I'd say, share the source if that's the objective. I doubt you'll get  
real reproducibility any other way.

>
>> If this asymmetry really bothers you, you could very easily fix  
>> this by
>> wrapping the search around. There's no asymmetry in a circle.
>
> That doesn't fix anything.

Why not? The whole argument is about a bias against points towards  
the end. In a circular list there is no 'end'.

Mark




More information about the computer-go mailing list