元胞自动机中的周期性
全新函数 FindTransientRepeat 可识别列表的瞬态和重复部分. 其可用于探查元胞自动机.
查看 rule 30 元胞自动机(CA). 版本 11 函数 RulePlot 是查找相关转换规则的有用工具.
In[1]:=
RulePlot[CellularAutomaton[30]]
Out[1]=
通过 CenterArray 定义 CA 的初始条件.
In[2]:=
initc = CenterArray[7]
Out[2]=
同上述起始条件计算 rule 30 CA 并将其绘制在方形离散数组中.
In[3]:=
ca30 = CellularAutomaton[30, initc, 20];
ArrayPlot[ca30, Mesh -> True]
Out[3]=
FindTransientRepeat 给出该 CA 的重复部分.
In[4]:=
tr30 = FindTransientRepeat[ca30, 2];
ArrayPlot[Last[tr30], Mesh -> True]
Out[4]=
对 rule 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]=