谈一些自己的所学,有错误请指正。
元胞自动机( Cellular Automata) 是 20 世纪 50 年代初由计算机之父冯·诺依曼( J.
von Neumann) 为了模拟生命系统所具有的自复制功能而提出来的。此后,史蒂芬·沃尔夫勒姆( Stephen Wolfram) 对元胞自动机理论进行了深入的研究,例如,他对一维初等元胞机全部 256 种规则所产生的模型进行了深入研究,并将元胞自动机分为平稳型、周期型、混沌型和复杂型 4 种类型。
元胞自动机采用离散的空间布局和离散的时间间隔,将元胞分成有限种状态,元胞个体状态的演变仅与其当前状态以及其某个局部邻域的状态有关。
元胞自动机以计算机建模和仿真的方法,研究由类似于生物细胞( Cell) 的大量并
行单元个体组成的复杂系统的宏观行为与规律。 L-系统、有限凝聚扩散、格子气自动机[1-2]、格子 Boltzmann 方法[3]、交通流模型等都是元胞自动机的具体化,它们都有着重要的理论意义和实际应用价值。 元胞自动机方法是研究复杂系统的有力工具,是新方法、 新学科的重要生长点[4]。
初等元胞自动机( Elementary Cellular Automata, ECA)的基本要素如下
- 空间:一维直线上等间距的点。可为某区间上的整数点的集合。
- 状态集:S={s1,s2} 即只有两种不同的状态。这两种不同的状态可将其分别编码为0 与 1;若用图形表示,则可对应“黑”与“白” 或者其他两种不同的颜色。
- 邻居:取邻居半径r=1,即每个元胞最多只有“左邻右舍”两个邻居。
- 演化规则:任意设定, 最多2^8=256 种不同的设定方式。元胞以相邻的8个元胞为邻居。即Moore邻居;一个元胞的生死由其在该时刻本身的生死状态和周围八个邻居的状态。
比如:
ECA #76 = (01001100)2
ECA #184 = (10111000)2
交通流“单车道跟驰”(不允许超车)的雏形
ECA #90 = (01011010)2
“左邻右舍”模2加法
类似Sierpinski三角形
最后谈一下元胞自动机的应用。
元胞自动机方法是一个框架模型,这个框架不必是刚性的,而是一个从实用主义出发考虑的模拟思想体系。元胞自动机模拟的要点是捕捉所研究现象的基本特性。
在实际应用过程中,有的元胞自动机模型对其中的某些特征进行了扩展,有的在规则设计中引入随机因素,如:森林火灾模型。 又如,在交通、通讯发达的今天, 研究流行病或计算机病毒的传播问题时, 我们还可以将空间背景换成复杂网络的结点,用网络邻接点作为邻居。这样的调整显然比仍旧使用二维欧氏空间、采用欧氏距离的模型更加符合实际情况。 在大型场所人群紧急疏散问题模拟研究中,可以考虑年龄、性别等因素,即元胞不是同质的,更加有利于使模拟系统接近真实系统。
元胞自动机将简单与复杂、 微观与宏观、 局部与整体、 有限与无穷、 离散与连续等
一对对哲学范畴紧密联系在一起,可望成为探索复杂科学的利器。
S. Wolfram曾说:
应该在学线性代数之前,先学元胞自动机。
参考文献:
[1] Hardy J, Pomeau Y, de Pazzis O. Time evolution of a two-dimensional model system. J.Math. Phys., 14:1746-1759, 1973
[2] Frish U, Hasslacher B, Pomeau Y. Lattice-gas automata for the Navier-Stokes equation.Phys. Rev. Lett., 56: 1505-1508, 1986
[3] Qian Y(钱跃竑), d‘Humié res D, Lallemand P. Lattice BGK model for Navier-Stokes
equation. Europhys. Lett., 17: 479-484, 1992
[4] Wolfram S. A New Kind of Science[M]. Wolfram Media Inc, 2002