Wolfram's Rule 30 Cellular Automaton

Rule 90

Rule 30 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 111102 = 3010

The first 45 steps as computed by my Java application:


The numbers of living celles (state 1, black):

1, 3, 3, 6, 4, 9, 5, 12, 7, 12,
11, 14, 12, 19, 13, 22, 15, 19, 20, 24,
21, 23, 23, 28, 26, 27, 26, 33, 30, 34,
31, 39, 26, 39, 29, 46, 32, 44, 38, 45,
47, 41, 45, 49, 38


The number N of living cells of step n:

N ≈ n

linear regression: R2 = 0.9305



--------------------------------------------------------------------------------

The ratio N/n is about 1
(mean 1.077):




--------------------------------------------------------------------------------

 The standard deviation of N/n (1 to n) is decreasing.

linear regression: R2 = 0.881:



--------------------------------------------------------------------------------

exponential regression: R2 = 0.912:



--------------------------------------------------------------------------------

The states can by regarded as binary numbers:

1
111
11001
1101111
110010001
11011110111
1100100001001
110111100111111
11001000111000001
1101111011001000111
110010000101111011001
11011110011010000101111
1100100011100110011010001
110111101100111011100110111
11001000010111000100111001001
1101111001101001011111001111111
110010001110011110100001110000001
11011110110011100001100110010000111
1100100001011100100110111011110011001
110111100110100111111001000100011101111
11001000111001111000001111011101100010001
1101111011001110001000110000100010101110111
110010000101110010111011010011101101010001001
11011110011010011101000100111100010010110111111
1100100011100111100011011111000101111101001000001
110111101100111000101100100001011010000011111000111
11001000010111001011010111100110100110001100001011001
1101111001101001110100101000111001111010110100110101111
110010001110011110001111011011001110000101001111001010001
11011110110011100010110000100101110010011011110001110110111
1100100001011100101101010011111010011111100100010110001001001
110111100110100111010010111100000111100000111101101010111111111
11001000111001111000111101000100011000100011000010010101000000001
1101111011001110001011000011011101101011101101001111101011000000111
110010000101110010110101001100100010010100010011110000010101000011001
11011110011010011101001011110111101111101101111100010001101011001101111
1100100011100111100011110100001000010000010010000101110110010101110010001
110111101100111000101100001100111001110001111110011010001011101010011110111
11001000010111001011010100110111001110010110000011100110110100010111100001001
1101111001101001110100101111001001110011101010001100111001001101101000100111111
110010001110011110001111010001111110011100010110110111001111110010011011111000001
11011110110011100010110000110110000011100101101001001001110000011111100100001000111
1100100001011100101101010011001010001100111010011111111110010001100000111100111011001
110111100110100111010010111101110110110111000111100000000011110110100011000111000101111
11001000111001111000111101000010001001001001011000100000001100001001101101011001011010001

transformed into decimal numbers:

1
7
25
111
401
1783
6409
28479
102849
456263
1641433
7287855
26332369
116815671
420186569
1865727615
6741246849
29904391303
107568396185
477630335215
1725755276049
7655529137527
27537575631497
122273031660991
441793688828481
1959816732673991
7049616458717273
...

linear regression of log(decimal):
 R2 = 0.999991:



--------------------------------------------------------------------------------

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
111001 -> 0.11001 -> 1·2-1 + 1·2-2+ 0·2-3+ 0·2-4+ 1·2-5 = 1/2 + 1/4 + 1/32 = 0.78125

0.5
0.875
0.78125
0.8671875
0.783203125
0.87060546875
0.7823486328125
0.869110107421875
0.784675598144531
...




--------------------------------------------------------------------------------

Selecting the steps n = 4, 6, 8, ...



--------------------------------------------------------------------------------

Selecting the steps n = 18, 22, 26, ... , 42, 46, ...
n = 2+i·4 (i=0,1,2,3,...)
the decimal numbers seem to converge to 0,870333445... !






My application "Rule 30" 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.

rule30.jar.zip

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."



Web Links


Rule 30 (Wikipedia)

Rule 30 (Wolfram MathWorld)

The On-Line Encyclopedia of Integer Sequences (A070952)


The On-Line Encyclopedia of Integer Sequences (A110240)

The On-Line Encyclopedia of Integer Sequences: cellular automata, Rule 030:
A070950*, A051023, A070951, A070952*, A151929, A092539, A110266, A1102676,
A094603, A094604, A094605, A074890, A110240, A100053

A Short Talk about Richard Feynman (Stephen Wolfram)

My Time with Richard Feynman (Stephen Wolfram)

Tables of Cellular Automaton Properties (Stephen Wolfram)


© 2018 Jürgen Giesen