Q: What are good random number generators?
A: There are two common problems when using pseudo-random number generators (PRNGs):This FAQ addresses the second problem.
- The PRNG does not get seeded. Please see related FAQ for discussion on this topic.
- A poor PRNG is being used.
Often people use the C library function 'rand()' for random number generation. And quite often, the implementation for 'rand()' is not very good - the range of numbers is too small, the period before repetition is too small, and/or other problems.
Better PRNGs can be found in a variety of sources. The most popular is the "Mersenne Twister". The "Mersenne Twister" and other good PNRGs can be found in the Boost library and the GNU Scientific Library).
Another good resource on random number generation is the book "Numerical Recipes in C". It contains a very good discussion on how one can create different distributions based on a uniform random deviate.


Reply With Quote
Bookmarks