comp.lang.ada
 help / color / mirror / Atom feed
From: brbarkstrom@gmail.com
Subject: Re: Ada.Numerics.Float_Random.Generator question
Date: Mon, 26 Sep 2016 11:48:44 -0700 (PDT)
Date: 2016-09-26T11:48:44-07:00	[thread overview]
Message-ID: <ba18ce2e-c9cf-45bf-8064-44919c7ce3c7@googlegroups.com> (raw)
In-Reply-To: <8bb59ac2-f5ba-44df-87ae-63d3dd47f0a3@googlegroups.com>

On Monday, September 26, 2016 at 9:04:34 AM UTC-4, Robert Eachus wrote:
> > 
> > > I hope that there is a better solution to this.  Is there?
> > 
> > Probably best consult Knuth on Random Numbers.  Complicated subject; lots
> > of numerical issues - testing involves some high-powered math.  See also
> > Park and Miller in CACM back a fer decades ago.
>  
> Sigh! I'm probably not the best expert available on random numbers (and pseudo RNGs).  But I could write a book on the inadequacies of Park and Miller, or all that has been learned since Knuth.  It is now possible to have fast PRNGs based on Blum, Blum, and Schub (https://en.wikipedia.org/wiki/Blum_Blum_Shub ) and that is now thirty year old technology. The latest includes not only cryptographically secure RNGs, but quantum cryptography which allows for seeds to be communicated without risk of evesdropping.
> 
> Most of that is more than needed for most RNGs, but there is no reason not to be at least that good. Park and Miller for example will "roll over" and start generating the same sequence again.  When it was publish this was not a big risk.  Today even "small" simulations will use more values that Park and Miller should be used to generate.
> 
> Oh, and I should probably write up a paper on using RNGs correctly.  It is silly to use an RNG that has lots of (theoretical) nice properties, then throw all that away in how you use the RNG.

Of course most of the RNG's roll over.  That's been known - and is even
referenced in Knuth.  The key question is selecting the appropriate values
for the algorithm so you can get longer cycles.  I know Park was
moving toward running multiple RNGs and then selecting one of them 
(approximately at random), but that was a long time ago.  

The National Institute for Standards and Technology (NIST) has probably
included RNG's in a note:
https://www.nist.gov/news-events/news/2014/04/nist-removes-cryptography-algorithm-random-number-generator-recommendations.  http://www.colostate.edu/~pburns/monte/rngreport.pdf doesn't have references after 2000.  The most
recent URL I could find in Wikipedia was https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator, which has
an update from Sept. 1, 2016.

Probably the place to start is the NIST URL: http://csrc.nist.gov/groups/ST/toolkit/random_number.html and then consult the last major entry on
that page for the NIST approved algorithms and their suggested validation
algorithms that include recommended statistical tests.

Bruce B.


  reply	other threads:[~2016-09-26 18:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-17 19:40 Ada.Numerics.Float_Random.Generator question Andrew Shvets
2016-09-17 20:09 ` J-P. Rosen
2016-09-17 20:14   ` Andrew Shvets
2016-09-17 21:01 ` Jeffrey R. Carter
2016-09-17 23:53   ` Andrew Shvets
2016-09-19 19:07 ` rieachus
2016-09-25 23:41 ` brbarkstrom
2016-09-26 13:04   ` Robert Eachus
2016-09-26 18:48     ` brbarkstrom [this message]
2016-09-29  9:42       ` Some Dude
2016-10-01  3:35         ` Robert Eachus
2016-10-01  3:59           ` Paul Rubin
2016-10-01 14:23             ` Robert Eachus
2016-10-01 15:49               ` Dmitry A. Kazakov
2016-10-01 16:44                 ` Robert Eachus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox