Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
First of all excuse my ad hoc approach. If time allows I'll come up with a more scientific approach with better documentation.
I ask you for any input or feedback. Please do correct me if anything is wrong or seems to be wrong. I really really appreciate it.
Describe the solution you'd like
Describe alternatives you've considered
You mention that the PRNG we're using is a multiplicative congruential generator, but to the best of my knowledge, it's a twisted generalized feedback shift register generator.
It's true that LCG/MCG generators and GFSR/TGFSR generators have several points in common, and that the MT we're using has some flaws (such as a very slow recovery from some initial states - which is resolved in an updated 'SFMT' version that I'm aiming to switch to as soon as I have time to test it), but it is generally considered a good and fast PRNG and very widely used. Details and papers at http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
Do you have any data that you can share with us, that shows the way we're using it results in a poor, unsuitable distribution?
Concerning the other point you mention, the use of
Switching to another PRNG is of course an option, if there's any evidence that the Mersenne Twister isn't suitable for our needs, and if there's an efficient alernative (again, please provide data to back your claims)