The Basic Cellular Automaton
The Basic Cellular Automaton
In[]:=
ArrayPlot[ResourceFunction["BlockCellularAutomaton"][{{1,1}->{2,0},{1,2}->{2,1},{2,0}->{1,1},{2,1}->{1,2},{0,0}->{0,0},{0,2}->{0,2},{1,0}->{1,0},{2,2}->{2,2},{0,1}->{1,1}},CenterArray[{2,2},1000],500],ColorRules->{0->White,1->Orange,2->Purple}]
Out[]=
A simpler representation of the rule:
Out[]=
{{1,1}{2,0},{1,2}{2,1},{0,1}{1,1}}
Out[]=
{
,
,
}
A close-up of the top:
Out[]=
Out[]=
The Right-Hand Edge
The Right-Hand Edge
In[]:=
RightIntervals[data_]:=MapIndexed[If[MatchQ[#1,{__,1,1,1,1,0..}],#2[[1]],Nothing]&,data];
In[]:=
With{tmax=5000},rightIntervalData=RightIntervals@ResourceFunction["BlockCellularAutomaton"],CenterArray[{2,2},2*tmax],tmax
Out[]=
{6,15,81,125,172,225,281,349,420,497,580,672,782,895,1011,1133,1264,1407,1565,1735,1908,2084,2263,2448,2645,2848,3057,3299,3544,3795,4076,4363,4653,4970}
In[]:=
(Differences[rightIntervalData][[3;;-1]]-2)/3
Out[]=
{14,15,17,18,22,23,25,27,30,36,37,38,40,43,47,52,56,57,58,59,61,65,67,69,80,81,83,93,95,96,105}
In[]:=
Differences[%]
Out[]=
{1,2,1,4,1,2,2,3,6,1,1,2,3,4,5,4,1,1,1,2,4,2,2,11,1,2,10,2,1,9}
In[]:=
ListLinePlot[%]
Out[]=
Left Border of the Pattern
Left Border of the Pattern
In[]:=
LeftRepeatCount[dataRow_]:=Module[{rowPart=Partition[ReplaceAll[dataRow,{0..,x_?Positive,y___,z_?Positive,0..}:>{x,y,z}],2][[2;;-1]],count=1},If[Length[rowPart]==0,0,While[rowPart[[count]]=={2,1},count++];count]]
With{tmax=200},leftRepeatData=LeftRepeatCount/@ResourceFunction["BlockCellularAutomaton"],CenterArray[{2,2},2*tmax],tmax
Out[]=
{13.4483,{0,0,0,1,1,2,2,3,3,3,4,4,5,5,5,6,6,7,7,7,8,8,8,9,9,10,10,10,11,11,11,12,12,13,13,13,14,14,14,15,15,16,16,16,17,17,17,18,18,18,19,19,20,20,20,21,21,21,22,22,22,23,23,23,24,24,25,25,25,26,26,26,27,27,27,28,28,29,29,29,30,30,30,31,31,31,32,32,33,33,33,34,34,34,35,35,35,36,36,36,37,37,38,38,38,39,39,39,40,40,40,41,41,42,42,42,43,43,43,44,44,45,45,45,46,46,46,47,47,48,48,48,49,49,49,50,50,51,51,51,52,52,52,53,53,54,54,54,55,55,55,56,56,56,57,57,57,58,58,58,59,59,59,60,60,61,61,61,62,62,62,63,63,63,64,64,64,65,65,66,66,66,67,67,67,68,68,68,69,69,69,70,70,71,71,71,72,72,72,73,73}}
The Sequence of Stripes
The Sequence of Stripes
A Prime-Generating Cellular Automaton
A Prime-Generating Cellular Automaton
Close-up of the top:
Positions of the stripes:
The positions of the 0s correspond to the primes:
Comparison of a “Solution” (for a Turing Machine)
Comparison of a “Solution” (for a Turing Machine)