I am re-reading the 1991 paper from Marsaglia & Zaman "A new class of random numbers generators" and it is very good.
There are some important details that are very useful and also many significant differences, but the overlap is worth it.
Let's start with the differences :
- The authors focus on extremely long sequences, suitable for Monte-Carlo simulations, so the sequence lengths are in the order of 10^100 to 10^500. OTOH I'm still limited to 2^52 or so...
- They focus on "Lagged Fibonacci" with 20 to 50 intermediate registers to reach these extreme lengths, while I focus on only 2 registers (the special case with lag of 1 and 2).
- The focus on extremely long sequences makes them miss the case for CRC/checksums.
- What I call PEAC, is called "add-with-carry generators".
That explains why they don't focus on the same configurations as I do.
However they expose a lot of very pertinent ideas.
- Part 2. starts with the Fibonacci sequence modulo 10 (without calling it Pisano, which might be a later/recent naming convention nuance) and this is almost exactly what is done with PEAC, except for the modulus. A lot of things match the PEAC generator until they change the lags for much longer sequences (sadly).
- They bring more types of iteration types : subtract-with-borrow and more, including one with the potential to fill the whole statespace. I'm not interested because that would increase the complexity of the checksum algo.
- They show why this system works : each digit is like a new development for the approximation of a rational number. And for PEAC, the ratio is Phi !
- They prove why the sequences have 2^(2n) + 2^n - 2 states (because the "lags" are 2 and 1)
Overall they bring a serious mathematical background though I'm not sure it would be useful for my case and I wouldn't know how to use it anyway. That would be useful for characterising w32 or even w64 but they seem to treat lag=2 as an exception, somehow.......
I feel somehow vindicated and it contains many similarities with the script I'm working on for a soon-to-be-released video.
I'm still in uncharted territory but if Marsaglia went near, 30 years earlier, it is very encouraging.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.