Periodicity in Cellular Automata
The new function FindTransientRepeat identifies the transient and repeated parts of a list. It can be used to investigate cellular automata.
Look at the rule 30 cellular automaton (CA). The Version 11 function RulePlot is a useful tool to find the associated transformation rules.
Copy to clipboard.
In[1]:=

✖
RulePlot[CellularAutomaton[30]]
Out[1]=

Define the initial conditions of the CA by using the new function CenterArray.
Copy to clipboard.
In[2]:=

✖
initc = CenterArray[7]
Out[2]=

Compute the rule 30 CA with the above initial conditions and plot it in a discrete array of squares.
Copy to clipboard.
In[3]:=

✖
ca30 = CellularAutomaton[30, initc, 20];
ArrayPlot[ca30, Mesh -> True]
Out[3]=

FindTransientRepeat gives the repeated part of this CA.
Copy to clipboard.
In[4]:=

✖
tr30 = FindTransientRepeat[ca30, 2];
ArrayPlot[Last[tr30], Mesh -> True]
Out[4]=

Repeat the same steps for the rule 90 cellular automaton.
Copy to clipboard.
In[5]:=

✖
RulePlot[CellularAutomaton[90]]
Out[5]=

Copy to clipboard.
In[6]:=

✖
ca90 = CellularAutomaton[90, initc, 20];
ArrayPlot[ca90, Mesh -> True]
Out[6]=

Copy to clipboard.
In[7]:=

✖
tr90 = FindTransientRepeat[ca90, 2];
ArrayPlot[Last[tr90], Mesh -> True]
Out[7]=
