Rule30: Difference between revisions

615 bytes added ,  2 years ago
Algebraic recurrence relation for rule 30,
(Algebraic recurrence relation for rule 30,)
 
(3 intermediate revisions by 2 users not shown)
Line 1:
{{alertbox|Pink|Duplicate of task [[Elementary cellular automaton/Random Number Generator]] please merge with that page pending deletion.}}
 
 
[[Category:Cellular Automata]]
{{task|Rule 30}} '''Rule 30''' is a simple binary cellular automaton introduced by Stephen Wolfram on his book "A New Kind of Science" (1983).
 
This rule is of particular interest because it produces complex, seemingly random patterns from simple, well-defined rules. Because of this, Wolfram believes that Rule 30, and cellular automata in general, are the key to understanding how simple rules produce complex structures and behaviour in nature.
Line 7 ⟶ 10:
 
;Task:
Write a program that prints out the evolution of the rule 30th30 1-dimensionalon 1D celular automata as consecutive rows of ASCII characters. all formingShowing the classic triangle:
 
<center>
. . . . . . . . . . . . . . . . . . . . . . . # . . . . . . . . . . . . . . . . . . . . . . .
Line 35 ⟶ 39:
</center>
 
(For standarizationstandardization propusesproposes, use rows of 50 cells, and just run the firtsfirst 25th iterations.)
 
 
=={{header|C}}==
Line 71 ⟶ 76:
return 0;
}</lang>
 
 
=={{header|Octave}}==
<lang OCTAVE>
clear all
E=256;
idx=round(E/2);
z(1:1:E^2)=0; % init lattice
z(idx)=1; % seed apex of triangle with a single cell
A=2; % Number of bits rule30 uses 3
for n=1:1:E^2/2-E-2; % lines
theta=0; % theta
for a=0:1:A;
theta=theta+2^a*z(n+A-a);
endfor
delta=(asin(sin (pi/4*(theta-3/4))));
z(n+E+1)=round( (4*delta + pi) / (2*pi) );
endfor
imagesc(reshape(z,E,E)');
</lang>
Anonymous user