Wolfram's Rule 90 Cellular Automaton

Rule 30

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:

rule 90

                                        
                                                          
The name "rule 30" is derived from 10110102 = 9010

The first 45 steps as computed by my Java application:



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)




© 2018 Jürgen Giesen