While there is a bias in theory, I suspect that you are right that it
is not significant in practice if you maintain a list of vacant
points (as Orego now does), because almost all vacant points are legal.
In any case, switching to your technique (generating one random
starting point in the list when it's time to choose a random move
rather than shuffling the list at the beginning of the run) is a big
speed win. On a multithreaded program like Orego (running on a
multicore machine), it moves the nontrivial random number generation
out of the synchronized part of the program and into the threads.
This one change instantly got me 25-30% more playouts per second.
Thanks for the tip!
Peter Drake
http://www.lclark.edu/~drake/
On May 27, 2007, at 11:39 AM, Łukasz Lew wrote:
Hi,
I've tested many approaches, and the one I implemented is clearly
the best.
The bias that Peter Drake talks about is negligible and doesn't have a
noticeable impact
on playout results.
(and uniformity of playout isn't something to fight for in MC Go)
...
Best Regards,
Lukasz Lew
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/