[computer-go] UCT
Rémi Coulom
Remi.Coulom at univ-lille3.fr
Fri Nov 3 08:33:03 PST 2006
Peter Drake wrote:
> On Nov 3, 2006, at 8:10 AM, Rémi Coulom wrote:
>
>> You can try multiplying uncertainty by a well-chosen constant value.
>> This way, you can tune how selective your search is. I found that
>> using a constant < 1 improves the search on 9x9 for Crazy Stone (I
>> use 1/sqrt(10), if I recall correctly). I wonder what is the
>> experience of other UCT programmers, by the way.
>
> Whee, parameter tweaking! :-)
>
> Do you have some reason for choosing this value, or did it just work
> well in practice?
I tried plenty, and measured how they performed against GNU.
>
>>> Also, are people pruning any move for which (average + uncertainty)
>>> is less than the (average - uncertainty) of some other move?
>> I am not sure what you mean. In UCT, you only search the move that
>> has the highest average + uncertainty, and you don't search any other
>> at all.
>
> By "prune" I mean "remove from the stored tree", making the memory
> used on that branch available for something else.
I have never had memory problems with Crazy Stone. Crazy Stone uses 32
bytes of RAM per node of the tree. It is not really a tree, but a hash
table, to handle transpositions. For nodes closer to the root, I
"extend" each node with more data (pointers to children). This is only
needed for a small proportion of the total number of nodes, so it does
not eat up a huge amount of RAM. That is because I don't do UCT in a
node before 81 random simulations have been run there.
Since I use transpositions, it is not really possible to remove a
subtree, anyways.
Rémi
More information about the computer-go
mailing list