[ont.micro] flame about random numbers

anthony@utcsstat.UUCP (01/04/85)

	I recently did some statistical tests on the random numbers
produced by an IBM PC, Apple II+, and a Commodore 64. I had each
machine generate 1,000,000 random numbers which where then transformed
to the digits 0 through 9 (inclusive). The statistical tests that
followed indicate that the Commodore 64 and Apple are horrible when
producing supposedly (pseudo) random numbers. The C64 was worse than
the Apple. The numbers produced by the PC where almost too good to be
true.
	I guess any games that rely on random number generation (and
other software for modelling, simulation etc.) are not as unique each
time as one may be led to think.

	Any comments by hackers out there ???

-- 
Anthony Ayiomamitis   {ihnp4|decvax|utzoo|utcsrgv}!utcs!utzoo!utcsstat!anthony

dudek@utai.UUCP (Gregory Dudek) (01/04/85)

With respect to your criticism of the random numbers generated by the Apple II,
are you aware that the numbers are dependent on (cycled by) the delays
before each character of input is recieved.  i.e. while the machine
is busy waiting for keyboard input, it increments a counter used in
random number generation.  Consequently, unless your tests on the 
generators accounted for this, I don't think the results are really all
that valid in many contexts (especially in the context of games  -- which
you referred to).
   Greg Dudek.

julian@deepthot.UUCP (Julian Davies) (01/08/85)

I'd suggest a random number generator that *depends* on random human
i/o delays to give random outputs is asking for trouble.  For
instance, any kind of simulation program is likely to get hurt.
The generator ought to produce reasonably pseudo-random numbers even
when there is no user-input variability.  It isn't as if the
technology isn't well understood.  There's half a book by Knuth on the
subject. (Semi-numerical Algorithms).

dudek@utai.UUCP (Gregory Dudek) (01/08/85)

Well, the apple II
random number generator does not DEPEND on i/o delays, but they serve to
reseed the generator.  This is especially important (& valuable) in the
game-type applications the were originally referred to.