# Wolfram Language™

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

In[1]:=
`RulePlot[CellularAutomaton[30]]`
Out[1]=

Define the initial conditions of the CA by using the new function CenterArray.

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.

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

FindTransientRepeat gives the repeated part of this CA.

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

Repeat the same steps for the rule 90 cellular automaton.

In[5]:=
`RulePlot[CellularAutomaton[90]]`
Out[5]=
In[6]:=
```ca90 = CellularAutomaton[90, initc, 20]; ArrayPlot[ca90, Mesh -> True]```
Out[6]=
In[7]:=
```tr90 = FindTransientRepeat[ca90, 2]; ArrayPlot[Last[tr90], Mesh -> True]```
Out[7]=