Periodicidade em autômatos celulares
A nova função FindTransientRepeat identifica as partes transitórias e repetidas de uma lista. Vamos usá-la para investigar autômatos celulares.
Olhe para o autômato celular (AC) usando a regra 30. A função RulePlot é uma ferramenta útil para encontrar as regras de transformação associadas.
In[1]:=
RulePlot[CellularAutomaton[30]]
Out[1]=
Defina as condições iniciais do AC, utilizando a nova função CenterArray.
In[2]:=
initc = CenterArray[7]
Out[2]=
Calcule o AC com a regra 30 com as condições iniciais acima, e trace-o em um arranjo discreto de quadrados.
In[3]:=
ca30 = CellularAutomaton[30, initc, 20];
ArrayPlot[ca30, Mesh -> True]
Out[3]=
FindTransientRepeat dá a parte repetida deste AC.
In[4]:=
tr30 = FindTransientRepeat[ca30, 2];
ArrayPlot[Last[tr30], Mesh -> True]
Out[4]=
Repita os mesmos passos para o autômato celular regra-90.
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]=