[Tutor] How trustworthy are pseudo-random numbers?

Tim Peters tim.peters at gmail.com
Fri Oct 3 07:44:59 CEST 2008


[Alec Henriksen]
> How trustworthy is the "randomness" generated by the random module?

Python uses the Mersenne Twister algorithm for generating
pseudo-random numbers, and that's one of the highest-quality methods
known.  You can read more about it, e.g., here:

    http://en.wikipedia.org/wiki/Mersenne_Twister


> I just wrote a script (with the help of some tutors here!) that finds
> the largest streak in a series of coin flips.
>
> My collected data:
>
> 100 coin flips = 6-7 streak (usually)
> 1000 coin flips = 10-12 streak (usually)
> 10000 coin flips = 15-19 streak (usually)
> etc etc.
>
> I'm curious, how much can I trust the randomness?

For this purpose, you can have high confidence -- provided your
program is correct ;-)


> I can't really do 100000 coin flips in real life to compare...

The theoretical expected maximum run length is given by equation (15)
here, with p=0.5 and n=100000:

    http://mathworld.wolfram.com/Run.html

although I'm not certain that coincides with what you mean by "streak".


More information about the Tutor mailing list