Random Perl Content

Th. J. van Hoesel th.j.v.hoesel at gmail.com
Sat May 18 22:36:04 BST 2013


I do not know of any of the modules that does has what you need.

I do understand your problem as I once needed something likewise for 'random' worksheets with Math excercises.

What I ended up was doing what I did on my old TI-59 to generate random numbers.....


take a seed <0 .. 1.0>

multiply it by Pi

chop of the integer part and save that as the new seed


that can't be too difficult ?



Op May 18, 2013, om 10:53 PM heeft Randy J. Ray het volgende geschreven:

> (It's a pun, see, because I'm going to be asking about random number generators... get it? Get it...?)
> 
> (Short, TL;DR summary: I'm looking for a pRNG that can have multiple instances at once that don't affect each others' stream of numbers. Does Math::Random::MT meet that criteria?)
> 
> I considered posing this to Perlmonks, but I just don't frequent that site like I used to. And there are enough Large Perl Brains on this list that I should get as good an answer, if not better.
> 
> I am looking for a pRNG (pseudo-Random Number Generator) module. But I have an unusual requirement-- I need to be able to instantiate multiple *independent* generators, that can take seeds for the sake of reproducible results. Let me explain...
> 
> My current (paying) job is writing frameworks for automated QA of my company's software (mainly the operating system that runs our storage servers). We are working on a new approach to how we structure some of our tests, and that happens to involve the potential of using some randomization to select different paths over a directed graph. But, this being QA-oriented, even if something runs with a degree of randomness to it, it needs to be reproducible at a later time. So, no problem, just create a seed for srand() and log that seed, and also provide users a way to specify a seed at the start. Then you can just re-use the seed and reproduce your results. Right? Well, not exactly...
> 
> Other libraries I use, developed by other teams within our company, might also have some randomization in them (like generating random names for disk volumes, randomizing data generation for traffic testing, etc.). Not to mention that we use no small number of CPAN modules, some of which might use rand() as well. I could seed Perl's RNG with a specific seed, but if that run has to try twice to generate a unique file name, instead of one or thrice, that will affect the random numbers *my* code gets.
> 
> So my thought was that sure there's a RNG module out there that is OO, and encapsulates the seed and all other internal elements of the generation process. One that I can instantiate multiple instances of, and have them generate streams of random numbers that are independent of each other. The closest I've found is Math::Random::MT, which implements the Mersenne Twister pRNG. But I can't immediately tell from the docs whether the object instances it creates are truly independent of each other or not.
> 
> So, is this something anyone else here has dealt with? Are there modules I just haven't stumbled upon yet, that would do this for me? Any help greatly appreciated, as always.
> 
> Randy
> -- 
> """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
> Randy J. Ray      Sunnyvale, CA      http://www.rjray.org rjray at blackperl.com
> twitter.com/rjray
> Silicon Valley Scale Modelers: http://www.svsm.org




More information about the london.pm mailing list