Wolfram's Rule 90 Cellular Automaton
Rule 90 is a
one-dimensional binary cellular automaton rule
introduced by Stephen Wolfram in 1983. At discrete time intervals, every cell spontaneously changes state based on its current state and the state of its two neighbors. For Rule 30, the rule set which governs the next state of the automaton is: The name "rule 30" is derived from 10110102 = 9010 The first 45 steps as computed by my Java application (download link below): Rule 90 has a time-space diagram in the form of a Sierpinski triangle. The states can by regarded as binary numbers: 1 101 10001 1010101 100000001 10100000101 1000100010001 101010101010101 10000000000000001 1010000000000000101 100010000000000010001 10101010000000001010101 1000000010000000100000001 101000001010000010100000101 10001000100010001000100010001 1010101010101010101010101010101 100000000000000000000000000000001 10100000000000000000000000000000101 1000100000000000000000000000000010001 101010100000000000000000000000001010101 10000000100000000000000000000000100000001 1010000010100000000000000000000010100000101 100010001000100000000000000000001000100010001 10101010101010100000000000000000101010101010101 1000000000000000100000000000000010000000000000001 101000000000000010100000000000001010000000000000101 10001000000000001000100000000000100010000000000010001 1010101000000000101010100000000010101010000000001010101 100000001000000010000000100000001000000010000000100000001 10100000101000001010000010100000101000001010000010100000101 1000100010001000100010001000100010001000100010001000100010001 101010101010101010101010101010101010101010101010101010101010101 10000000000000000000000000000000000000000000000000000000000000001 1010000000000000000000000000000000000000000000000000000000000000101 100010000000000000000000000000000000000000000000000000000000000010001 10101010000000000000000000000000000000000000000000000000000000001010101 1000000010000000000000000000000000000000000000000000000000000000100000001 101000001010000000000000000000000000000000000000000000000000000010100000101 10001000100010000000000000000000000000000000000000000000000000001000100010001 1010101010101010000000000000000000000000000000000000000000000000101010101010101 100000000000000010000000000000000000000000000000000000000000000010000000000000001 10100000000000001010000000000000000000000000000000000000000000001010000000000000101 1000100000000000100010000000000000000000000000000000000000000000100010000000000010001 101010100000000010101010000000000000000000000000000000000000000010101010000000001010101 10000000100000001000000010000000000000000000000000000000000000001000000010000000100000001 and transformed into decimal numbers: 1 5 17 85 257 1285 4369 21845 65537 327685 1114129 5570645 16843009 84215045 286331153 1431655765 4294967297 21474836485 73014444049 365072220245 1103806595329 5519032976645 18764712120593 93823560602965 281479271743489 1407396358717445 4785147619639313 23925738098196565 72340172838076673 ... R2 =0.9999 -------------------------------------------------------------------------------- The binary digits can be interpreted as digits behind the decimal point: e.g.: 1 = 0.1, 11001 = 0.11001 and transformed into decimal fractions: 1 -> 0.1 -> 1·2-1 -> 1/2 1010101 -> 0.11001 -> 1·2-1 + 0·2-2 + 1·2-3 + 0·2-4 + 1·2-5 + 0·2-6 + 1·2-7 = 1/2 + 1/8 + 1/32 + 1/128 = 0.6640625 -------------------------------------------------------------------- n=4: 0.10101012 -> 0.664062510 n=8: 0.1010101010101012 -> 0.66665649414062510 n=16: 0.10101010101010101010101010101012 -> 0.666666666511446210 n=32: 0.1010101010101010101010101010101010101010101010101010101010101012 -> 0.6666666666666666... Selecting the steps n = 4, 8, 16, 32, ... n = 2i (i=2,3,4,5,...) the decimal numbers converge to 2/3... ! -------------------------------------------------------------------- n=3: 0.100012 -> 0.5312510 n=5: 0.1000000012 -> 0.50195312510 n=9: 0.100000000000000012 -> 0.500007629394531..10 n=17: 0.1000000000000000000000000000000012 -> 0.500000000116415...10 n=33: 0.100000000000000000000000000000000000000000000000000000000000000012 -> 0.5000000000000000001..10 Selecting the steps n = 3, 5, 9, 17, 33, ... n = 1+2i (i=1,2,3,4,5,...) the decimal numbers converge to 1/2... ! -------------------------------------------------------------------- My application "Rule 90" can be
downloaded and run by "Jar Launcher", a
program in Mac OS X that launches Java JAR files
into the Aqua/Java runtime environment when the
JAR file is double clicked.
"Feynman took me aside, rather conspiratorially, and said, "Look, I just want to ask you one thing: how did you know rule 30 would do all this crazy stuff?" "You know me," I said. "I didn't. I just had a computer try all the possible rules. And I found it." "Ah," he said, "now I feel much better. I was worried you had some way to figure it out." from "A Short Talk about Richard Feynman (Stephen Wolfram)" |
Web Links
|
Rule 90 (Wikipedia) The On-Line Encyclopedia of Integer Sequences A038183 Table of n, a(n) for n = 0..200 (Vincenzo Librandi) Sierpinski triangle (Wikipedia) |
© 2019 Jürgen Giesen