Re: All possible internal states of Erlang/OTP random module are practically computable

Kenji Rikitake <[email protected]>
Newsgroups gmane.comp.lang.erlang.general,gmane.comp.lang.erlang.bugs
Message-ID <[email protected]>
I know there's NOTHING NEW on this from academic viewpoints. This is
just a brute-force scanning of the problem space. The reason why I wrote
this on the mailing list was to show the practicality of this rather
primitive brute-force computation method.

I've proposed and implemented five alternatives for this in Erlang (the
algorithms are of other math geniuses):

SFMT19937:     https://github.com/jj1bdx/sfmt-erlang (Period: 2^19937-1)
TinyMT:        https://github.com/jj1bdx/tinymt-erlang (Period: 2^127-1)
Xorshift*64:   https://github.com/jj1bdx/exs64 (Period: 2^64-1)
Xorshift+128:  https://github.com/jj1bdx/exsplus (Period: 2^128-1)
Xorshift*1024: https://github.com/jj1bdx/exs1024 (Period: 2^1024-1)

I agree that at least one algorithm should be in Erlang VM as a BIF
(Xorshift*64 will be a practical candidate because it's small and is
fast on a 64-bit machine, and will provide a sufficient long period).

More details on Xorshift*/Xorshift+: http://xorshift.di.unimi.it/

Kenji Rikitake

++> Richard A. O'Keefe <[email protected]> [2014-12-23 17:14:39 +1300]:
> On 23/12/2014, at 1:46 pm, Kenji Rikitake <[email protected]> wrote:
> 
> > This is a preliminary result of a brute-force check of the AS183 algorithm
> > looping period, using a C program running in the exactly same algorithm as in
> > the Erlang/OTP random module.
> 
> The result is anything but surprising.
> 
> > Conclusion: I have to say that Erlang/OTP "random" module should be
> > revised ASAP.
> 
> We have known this for some time.
> 
> There is a 4-generator version of the Wichmann-Hill idea; there is some
> IP restriction on it which I do not understand.  The point is that the
> inventors of AS183 themselves believe it is past its use-by date.
> 
> AS183 was an excellent choice for a 4 mB 20 MHz machine that secretly
> wanted to be a 16-bit machine.  Those days are long past.
> 
> George Marsaglias Random Number Generators is a good survey of
> the 2003 state of the art.
> 
> Many of the good ones (not excluding the Mersenne Twister) require
> large mutable tables, so are best done in the VM.
> There is code for a Complementary-Multiply-With-Carry generator
> in the right column of page 9, and a table that can be used to
> shrink the table size to something lighter weight.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.