in reply to Re: Predict Random Numbers
in thread Predict Random Numbers
Determining a, b, and m using srand() can be automated in some cases, but it takes a bit of guesswork. If m is a power of 2 and b is small enough, you'll see an obvious pattern in the output of:
You can work out a and take a guess at m and b from that -- a is the part that moves, b is the part that stays still, and m is whatever seems big enough to hold it all.for (0..30) { srand(1<<$_); printf "%030b\n", rand()*(2**30); }
There are several papers (including the one I mentioned before) on determining those constants using only the output from rand(). Some of them use the L3 algorithm as well.
|
---|