4 ms·
Rule 30 is how Mathematica generates random numbers: And in Mathematica--ever since it was first released--Random[Integer] has generated 0's and 1's using exac
by fjarlq 12y ago
Rule 30 is how Mathematica generates random numbers:
And in Mathematica--ever since it was first released--Random[Integer] has generated 0's and 1's using exactly the rule 30 cellular automaton.
The way this works is that every time Random[Integer] is called, another step in the cellular automaton evolution is performed, and the value of the cell in the center is returned. But one difference from the picture two pages ago is that for practical reasons the pattern is not allowed to grow wider and wider forever. Instead, it is wrapped around in a region that is a few hundred cells wide.
-- http://www.wolframscience.com/nksonline/page-317-text http://www.wolframscience.com/nksonline/page-317-text
- logicallee 12y agowow, this seems to me to be incredibly reckless, in a mathematics package. it's gotta be much too simple. You're banking that this incredibly simple rule doesn't generate any trivial correlations that will make it completely inappropriate for a certain case. (whatever it might be, e.g. as an example that it won't be the case that if you get 2^nth values the first and the last will be the same 66% of the time instead of 50% of the time - or whatever. you're saying that there is no property that is totally non-random and breaks some simple case.) I mean, fine if it passes basic statistical tests I would accept it in a programming library. But in a mathematics package? seems so irresponsible.
- srtjstjsj 12y agoIf you're going to accuse a professional mathematics company of not knowing math, you could at least spend 5 minutes to read their explanation of the algorithm, and mention why your pseudorandom number generator is more statistically robust.
- logicallee 12y agoI didn't accuse them of not knowing math, I said it seems to be reckless and irresponsible. I don't dispute that the method is statistically robust - in fact I said that this would make it fine in an RNG library in some programming language. (i.e. I would have zero qualms using it as my RNG.) It's just that if there is anyplace where some numerical correlation might accidentally peek through the curtains, it would be in the kinds of things someone does in mathematics software. Here is a bad algorithm http://en.wikipedia.org/wiki/RANDU http://en.wikipedia.org/wiki/RANDU that was "in use since the 60s'". I'm sure it's fine for certain uses, but, "as a result of the wide use of RANDU in the early 1970s, many results from that time are seen as suspicious." How surprised would you be if this very simple RNG turned out to produce incorrect results somewhere?
- fjarlq 12y agoWolfram published his analysis of CA RNG in 1986.[1] Since then, his paper has been cited 408 times.[2] Richard Feynman tried to crack rule 30, but declared he couldn't. That's probably partly why Wolfram describes rule 30 as "probably my all-time favorite scientific discovery."[3] You said earlier that "[rule 30 has] gotta be much too simple." Many serious mathematicians have felt that way over the past 30 years, but so far nobody has shown how it is a bad RNG. If someone does so at this point, they would make quite a splash in mathematics.... [1] http://www.stephenwolfram.com/publications/academic/random-sequence-generation-cellular-automata.pdf http://www.stephenwolfram.com/publications/academic/random-s... [2] https://scholar.google.com/scholar?q=%22random+sequence+generation+by+cellular+automata%22 https://scholar.google.com/scholar?q=%22random+sequence+gene... [3] http://www.stephenwolfram.com/publications/short-talk-about-richard-feynman/ http://www.stephenwolfram.com/publications/short-talk-about-...