Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Predictable random sequence

by kennethk (Abbot)
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 imbibing at the Monastery: (13)
As of 2015-07-02 08:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (31 votes), past polls