Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Predictable random sequence

by kennethk (Monsignor)
on Sep 17, 2013 at 14:37 UTC ( #1054455=note: print w/ replies, xml ) Need Help??


in reply to Predictable random sequence

Lots of ways to do it, depending on needed quality. The one I use for cross-platform stability in testing is the Middle-square method. It's actually a pretty bad RNG if you need any real rigor or a very large number of points, but it's fast, intuitive and insensitive to round-off.

my $seed = 21324556; sub _prng { # von Neumann middle-square method return 1e-8*($seed = int(1e-4 * $seed**2) % 1e8); }
This seed converges to zero after 16348 iterations, with an average in that population of 0.5002 and a standard deviation of 0.2878. If you go for more than 8 digits of precision, you will start seeing machine dependence.

#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.


Comment on Re: Predictable random sequence
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1054455]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (9)
As of 2014-07-11 21:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (235 votes), past polls