Periodizität in zellulären Automaten
Die neue Funktion FindTransientRepeat identifiziert die transienten und wiederholten Teile einer Liste. Sie kann zur Untersuchung zellulärer Automaten verwendet werden.
Untersuchen Sie den zellulären Automat Regel 30. Die in Version 11 eingeführte Funktion RulePlot ist ein nützliches Tool, um die zugehörigen Übergangsregeln zu ermitteln.
In[1]:=
RulePlot[CellularAutomaton[30]]
Out[1]=
Bestimmen Sie mithilfe der neuen Funktion CenterArray die Anfangskonditionen des zellulären Automatens.
In[2]:=
initc = CenterArray[7]
Out[2]=
Berechnen Sie die Regel 30 mit den obigen Anfangsbedingungen und plotten Sie diese in einem diskreten Gitter aus Quadraten.
In[3]:=
ca30 = CellularAutomaton[30, initc, 20];
ArrayPlot[ca30, Mesh -> True]
Out[3]=
FindTransientRepeat gibt den Teil dieses zellulären Automatens an, der wiederholt wird.
In[4]:=
tr30 = FindTransientRepeat[ca30, 2];
ArrayPlot[Last[tr30], Mesh -> True]
Out[4]=
Wiederholen Sie dieselben Schritte für Regel 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]=