在《用Mathematica玩转一维元胞自动机》里面,我简单介绍了一维元胞自动机的玩法。本文的目标,是演示一下有界的二维元胞自动机的玩法。
工具/原料
电脑
Mathematica11.1+
方法/步骤
1、元胞自动机的初始状态:c=Table[If[And[m==20,n==20],1,0],{m,73},{n,73}];里面的元素只有一个1,也就是元胞,其余全部是0。
2、画出初始状态c。c//A筠续师诈rrayPlot[#,ImageSize->500,ColorRules->{1->Bl锇栀劐箨ue,0->Pink},Frame->False]&图中的蓝色像素,就代表元胞。
3、采用规则797:code797={797,辘腋粪梯{2,1},{1,1}};元胞自动机c的第一次迭代,结果如下:b=First[CellularAu墉掠载牿tomaton[code797,c,{{1}}]]
4、对应的像素图是:b//ArrayPlot[#,Im瞢铍库祢ageSize->500,ColorRu造婷用痃les->{1->Pink,0->Blue},Frame->False]&注意,此时1用粉色代替了。
5、第二次迭代的像素图。
6、第36代的像素图。
7、第100代的像素图。
8、第1代到第200代的动态图。