Just now I realized that I'm using the standard Java Math.log()
function in places where it computes the log(visits). In Java, this
log() function is actually the logarithm of base e, which I suppose
is normally actually written as ln(). When I read articles about UCT
and it says log(), does that actually mean log base e, or log base 10?
I figured it probably won't make an awful lot of difference. But
there should be some difference. Just to make sure I replaced Math.log
() by Math.log10(). Now I'm seeing a slight degradation of play, so I
suppose that should answer the question. That doesn't surprise my an
awful lot, somehow intuitively it seems to make more sense to use log
base e. But maybe adjusting the exploration-factor a little would
bring them closer still. I just wanted to make sure...
Another thing I tried was replacing log(virtual-parent-visits) by log
(parent-visits) in the RAVE calculation. I see no effect on the level
of play, so apparently it's a wash. But using the latter saves a
little memory and / or (depending on your implementation) a little
performance since the log() function is expensive.
Mark
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/