More info required on rand(3C), rand48(3C) and random(3B) please
Tim Monks
tim at bhpmrl.oz.au
Wed Aug 22 11:15:37 AEST 1990
Can someone at SGI or elsewhere please provide me with some further
information on the pseudo-random number generators rand(3C),
*rand48(3C), and random(3B) in addition to what is available in the
rather scant manual pages. I am particularly interested in the
algorithm used for random(3B) and how it compares to the Winchman-Hill
(combination of 3 multiplicative congruential rngs) and the newer
Marsaglia-Zaman-James generator (a combination of a lagged Fibonacci
sequence and an arithmetic subtractive generator). My application calls
for a rng with good properties when taken as n-tuples, n = 10-25.
Here's what I know about them already:
rand(3C):
========
Manual pages info :
A multiplicative congruential rng with period 2^32
My suppositions :
1. The form is probably :
x(n+1)=x(n)*16807 mod (2^31-1)
because this is most popular on 32 bit machines.
2. Low order bits are less random than they should be.
3. n-tuples formed from this generator are apparently uniform
for low n (a lattice diagram on the unit square showing pairs
(x(n), x(n-1)) has no visible structure), but for larger n,
the tuples lie on a limited number of hyperplanes (Marsaglia
effect). This implies that the rng should not be used in high-
dimensional (>2) simulations.
*rand48(3C):
===========
Manual pages info :
A multiplicative congruential rng of the form :
x(n+1) = (a.x(n) + c) mod (2^48)
where the constants a & c have default values of
a = 3740067437, c = 11, though these can be changed.
My suppositions :
1. Suffers same inherent problems as rand(3C), though these
will be less obvious because of the longer period (which is ?).
random(3B)
==========
Manual pages info :
A "non-linear additive feedback rng employing a default
table of size 31 long ints"
My suppositions :
1. Because this rng uses more state information than just the
previous deviate to generate the new value it should perform
better than the previous two in high-dimensional rn generation.
My questions:
1. What exactly is the form of it - is there a reference to any
works by the the author (Earl T Cohen).
2. Is there any further information on the uniformity of n-tuples
taken from this generator ?
3. What sort of tests are used to test uniformity of n-tuples
where n is too large to visualize ?
4. Comparisons with W-H and M-Z-J generators mentioned above ?
Thanks in advance for any pointers, tips &/c...
--
Dr. Tim Monks
Image Processing & Data Analysis Group | (direct) (+61-3)566-7448
BHP Melbourne Research Laboratories | (switch) (+61-3)560-7066
245 Wellington Rd, Mulgrave, 3170, | (fax) (+61-3)561-6709
AUSTRALIA | (EMAIL) tim at merlin.bhpmrl.oz.au
More information about the Comp.sys.sgi
mailing list