I know random numbers is a vaste field. I know CPAN contains valid true random generator modules (as suggested in rand manpage). But I dont wont to do a cryptographically secure application.
I just want to be sure that if I use rand to simulate a six sided die and I repaet the roll 10000 times I will get an average result of 3.5 as expected.
Of course this is easy to prove and I get what I expected:
my $res; $res += 1+int( rand(6) ) for 1..10000; print qq(average: ), $res/10000; # average: 3.501
But the case is I want to put this inside a .t file of a module and I'm roughly expecting an average greater than 3.4 and lesser than 3.6:
my $tenk; $tenk += 1+int( rand(6) ) for 1..10000; ok ( $tenk/10000 > 3.4, "average randomness ok (10000d6 / 10000 > 3.4) +" ); ok ( $tenk/10000 < 3.6, "average randomness ok (10000d6 / 10000 < 3.6) +" );
While the above seems to be ok on my platform, can I expect the same result on every platform? and for every perl version around the world? Should I repeat the check 100 times to have an average of averages?
Thanks for reading
L*
In reply to is rand random enough to simulate dice rolls? by Discipulus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |