[Computer-go] fast + good RNG
pasky at ucw.cz
Sun Mar 29 04:36:13 PDT 2015
On Sun, Mar 29, 2015 at 01:08:20PM +0200, Kahn Jonas wrote:
> Why not xorshift+128 ?
Because I wasn't aware of it. Nice!
But I probably won't remember the code by heart like I do
seed * prime_near_2^14. ;-)
> Period is $2^128 - 1$, more than sufficient for go. (If you need longer periods, use longer keys, I guess). And the code is easy.
I just think Go (except trivial implementation cases) should be very
insensitive to RNGs. It is not like many Monte Carlo applications where
you just call the RNG in a tight loop in regular manner to move in the
same state space. In a Go program, you call the RNG from playouts in
all sorts of irregular cases to pick out of available patterns
/liberties/neighbor groups, to check whether to apply a given
heuristic, and the set of moves to pick from shift-shapes continuously.
Even with a short-period RNG, you always use that number to decide
One of these times, I'll check if Pachi can still play Go with RNG
being (seed += 1313) % max.
More information about the Computer-go