代码改变世界

元胞自动机

2010-10-20 09:55  Firefly727  阅读(3712)  评论(0编辑  收藏  举报

 

元胞自动机的定义及构成

尽管元胞自动机有着较为宽松,甚至近乎模糊的构成条件。但作为一个数理模型,元胞自动机有着严格的科学定义。同时,元胞自动机是一个地地道道的"混血儿"。是物理学家、数学家,计算机科学家和生物学家共同工作的结晶。因此。对元胞自动机的含义也存在不同的解释,物理学家将其视为离散的、无穷维的动力学系统;数学家将其视为描述连续现象的偏微分方程的对立体,是一个时空离散的数学模型;计算机科学家将其视为新兴的人工智能、人工生命的分支;而生物学家则将其视为生命现象的一种抽象。下面给出几种常见的定义:常用元胞自动机

1.元胞自动机的物理学定义

     元胞自动机是定义在一个由具有离散、有限状态的元胞组成的元胞空间上,并按照一定局部规则,在离散的时间维上演化的动力学系统
     具体讲,构成元胞自动机的部件被称为"元胞",每个元胞具有一个状态。这个状态只琵取某个有限状态集中的一个,例如或"生"或"死",或者是256中颜色中的一种,等等;这些元胞规则地排列在被称为"元胞空间"的空间格网上;它们各自的状态随着时间变化。而根据一个局部规则来进行更新,也就是说,
一个元胞在某时刻的状态取决于、而且仅仅家决于上一时刻该元胞的状态以及该元胞的所有邻居元胞的状态;元胞空间内的元胞依照这样的局部规则进行同步的状态更新,整个元胞空间则表现为在离散的时间维上的变化

2.元胞自动机的数学定义

     美国数学家L.P.Hurd和K·Culik等人在90年代初,对元胞自动机分别从集合论和拓扑学等角度进行了严格地描述和定义 (谢惠民,1994; Culik,II K,1990;李才伟,1997)

1)基于集合论的定义

     设d代表空间维数,k代表元胞的状态,并在一个有限集合S中取值,r表元胞的邻居半径。Z是整数集,表示一维空间,t代表时间。
     为叙述和理解上简单起见,在一维空间上考虑元胞自动机,即假定d=1。那么整个元胞空间就是在一维空间,将整数集Z上的状态集S的分布,记为SZ。元胞自动机的动态演化就是在时间上状态组合的变化,可以记为:
元胞自动机--转 - Firefly727 - Firefly727 
     这个动态演化又由各个元胞的局部演化规则f所决定的。这个局部函数f通常又常常被称为局部规则。对于一维空间,元胞及其邻居可以记为S2r+1,局部函数则可以记为:
元胞自动机--转 - Firefly727 - Firefly727 
对于局部规则f来讲,函数的输入、输出集均为有限集合,实际上。它是一个有限的参照表。例如,r=1,f的形式则形似如下:[0,0,0]->O; [0,0,1]->0; [0,1,0]->1; [1,0,0]->0; [0,1,1]->1; [1,0,1]->0; [1,1,0]->0; [1,1,1]->0对元胞空间内的元胞,独立施加上述局部函数,则可得到全局的演化:
元胞自动机--转 - Firefly727 - Firefly727 
cit 表示在位置i处的元胞,至此,我们就得到了一个元胞自动机模型。

2)元胞自动机的拓扑学定义

     为描述和理解方便。同样假定维数d为1。设S为k个符号约有限集。Z为整数全体的集台,称Z到S的映射的全体SZ为构形空间。显然SZ就是用S中的符号组成的双侧无限的符号序列的全体,即一维元胞自动机的所有构形的集合。称a=(…a-1a0a1,...)为构形空间中的点。
     在SZ中引进任意两点x和y之间的距离
元胞自动机--转 - Firefly727 - Firefly727 
     其中当xi=yi时δ(xi,yi)=0,当xi≠yi时δ(xi,yi)=1。然后。在SZ中可以建立起开、闭、紧等拓扑概念。
     在SZ中定义移位算子δ为δ(xi)=xi-1,i∈Z。若连续映射F:SZ->SZ产与δ可交换,即Fδ=δF。或对任意的x∈SZ有F((δ(x))=δ(F(x)),则称F为元胞自动机 (谢惠民,1994)。
     对于以上定义,我们很容易将它扩展到一个任意维空间,所要做的工作只是将SZ记为SZ^d,S2r+1记为S(2r+1)^d等,同时对一些描述作相应改变即可。

元胞自动机的构成

     元胞自动机最基本的组成有元胞、元胞空间、邻居及规则四部分。简单讲,元胞自动机可以视为由一个元胞空间和定义于该空间的变换函数所组成。
元胞自动机--转 - Firefly727 - Firefly727
1.元胞
     元胞又可称为单元。或基元,是元胞自动机的最基本的组成部分。元胞分布在离散的一维、二维或多维欧几里德空间的晶格点上。
2.状态
     状态可以是{0,1}的二进制形式,或是{s0,s2,……si……sk}整数形式的离散集,严格意义上。元胞自动机的元胞只能有一个犬态变量。但在实际应用中,往往将其进行了扩展。例如每个元胞可以拥有多个状态变量。李才伟(1997)在其博士论文工作中,就设计实现了这样一种称之为"多元随机元胞自动机"模型。并且定义了元胞空间的邻居(Neighbor)关系。由于邻居关系,每个元胞有有限个元胞作为它的邻居;
3.元胞空间(Lattice)
     元胞所分布在的空间网点集合就是这里的元胞空间
     (l)元胞空间的几何划分:理论上,它可以是任意维数的欧几里德空间规则划分。目前研究多集中在一维和二维元胞自动机上。对于一维元抱自动机。元胞空间的划分只有一种。而高维的元胞自动机。元胞空间的划分则可能有多种形式。对于最为常见的二维元胞自动机。二维元胞空间通常可按三角、四方或六边形三种网格排列 (图2-5)。
元胞自动机--转 - Firefly727 - Firefly727
      这三种规则的元胞空间划分在构模时各有优缺点:
     三角网格的优点是拥有相对较少的邻居数目,这在某些时候很有用;其缺点是在计算机的表达与显示不方便,需要转换为四方网格。
     四方网格的优点是直观而简单,而且特别适合于在现有计算机环境下进行表达显示;其缺点是不能较好地模拟各向同性的现象,例如后面提到的格子气模型中的HPP模型。
     六边形网格的优点是能较好地模拟各向同性的现象,因此,模型能更加自然而真实,如格气模型中的FHP模型;其缺点同三角网格一样,在表达显示上较为困难、复杂。
     (2)边界条件:在理论上,元胞空间通常是在各维向上是无限延展的,这有利于在理论上的推理和研究。但是在实际应用过程中,我们无法在计算机上实现这一理想条件,因此,我们需要定义不同的边界条件。归纳起来,边界条件主要有三种类型:周期型、反射型和定值型。有时,在应用中,为更加客观、自然地模拟实际现象,还有可能采用随机型,即在边界实时产生随机值。
     周期型(Pehodic Boundary)是指相对边界连接起来的元胞空间。对于一维空间,元胞空间表现为一个首尾相接的"圈"。对于二维空间,上下相接,左右相接。而形成一个拓扑圆环面 (Torus),形似车胎或甜点圈。周期型空间与无限空间最为接近,因而在理论探讨时,常以此类空间型作为试验。
     反射型(Reflective Boundary)指在边界外邻居的元胞状态是以边界为轴的镜面反射。例如在一维空间中,当r=1时的边界情形:
元胞自动机--转 - Firefly727 - Firefly727 
     定值型 (Constant Boundary)指所有边界外元胞均取某一固定常量,如0,1等。
     需要指出的是,这三种边界类型在实际应用中,尤其是二维或更高维数的构模时,可以相互结合。如在二维空间中,上下边界采用反射型,左右边界可采用周期型 (相对边界中。不能一方单方面采用周期型)。
     (3)构形:在这个元胞、状态、元胞空间的概念基础上,我们引入另外一个非常重要的概念,构形(Configuration)。构形是在某个时刻,在元胞空间上所有元胞状态的空间分布组合。通常。在数学上,它可以表示为一个多维的整数矩阵。

4.邻居 (Neighbor)
     以上的元胞及元胞空间只表示了系统的静态成分,为将"动态"引入系统,必须加入演化规则。在元胞自动机中,这些规则是定义在空间局部范围内的,即
一个元胞下一时刻的状态决定于本身状态和它的邻居元胞的状态。因而,在指定规则之前,必须定义一定的邻居规则,明确哪些元胞属于该元胞的邻居。在一维元胞自动机中,通常以半径,来确定邻居,距离一个元胞,内的所有元胞均被认为是该元胞的邻居。二维元胞自动机的邻居定义较为复杂,但通常有以下几种形式(我们以最常用的规则四方网格划分为例)。见图2-6,黑色
元胞为中心元胞,灰色元胞为其邻居,它们的状态一起来计算中心元胞在下一时刻的状态。
元胞自动机--转 - Firefly727 - Firefly727 
l)冯-诺依曼(Von. Neumann)型
     一个元胞的上、下、左、有相邻四个元胞为该元胞的邻居。这里,邻居半径r为1,相当于图像处理中的四邻域、四方向。其邻居定义如下:
元胞自动机--转 - Firefly727 - Firefly727 
vixviy表示邻居元胞的行列坐标值,vox表示中心元胞的行列坐标值。此时,对于四方网格,在维数为d时,一个元胞的邻居个数为2d

2)摩尔(Moore)型
一个元胞的上、下、左、右、左上、右上、右下、左下相邻八个元胞为该元胞的邻居。邻居半径r同样为1,相当于图像处理中的八邻域、八方向。其邻居定义如下:
元胞自动机--转 - Firefly727 - Firefly727 
vixviyvox意义同前。此时,对于四方网格,在维数为d时。一个元胞的邻居个数为 (3d-1)。

3)扩展的摩尔(Moore)型
     将以上的邻居半径r扩展为2或者更大,即得到所谓扩展的摩尔型邻居。其数学定义可以表示为:
元胞自动机--转 - Firefly727 - Firefly727 
此时,对于四方网格,在维数为d时,一个元胞的邻居个数为 ((2r十1)d-1)。

4)马哥勒斯 (Margolus)型
     这是一种同以上邻居模型迥然不同的邻居类型,它是每次将一个2x2的元胞块做统一处理,而上述前三种邻居模型中,每个元胞是分别处理的。这种元胞自动机邻居是由于
格子气的成功应用而受到人们关注的,关于这种邻居模型的详细介绍,请参照本文对格子气动机的介绍。

5.规则(Rule)
    
根据元胞当前状态及其邻居状况确定下一时刻该元胞状态的动力学函数,简单讲,就是一个状态转移函数。我们将一个元胞的所有可能状态连同负责该元胞的状态变换的规则一起称为一个变换函数 (史忠植,1998)。这个函数构造了一种简单的、离散的空间/时间的局部物理成分。要修改的范围里采用这个局部物理成分对其结构的"元胞"重复修改。这样,尽管物理结构的本身每次都不发展。但是状态在变化(史忠植,1998)。它可以记为f: sit+1=f(sit,sNt),sNt为t时刻的邻居状态组合,我们称f为元胞自动机的局部映
射或局部规则 (谢惠民,1994)。

6.时间 (Time)
     元胞自动机是一个动态系统,它在时间维上的变化是离散的,即时间f是一个整数值,而且连续等间距。假设时间间距dt=1,若t=O为初始时刻。那么。t=1为其下一时刻。在上述转换函数中,一个元胞在t十1的时刻只(直接)决定于t时刻的该元胞及其邻居元胞的状态,虽然,在t-1时刻的元胞及其邻居元胞的状态间接(时间上的滞后)影响了元胞在t+1的时刻的状态。
     由以上对元胞自动机的组成分析,我们可以更加深入地理解元胞自动机的概念。用数学符号来表示,标准的元胞自动机是一个四元组 (Amoroso,S.,1972):
A=(Ld,S,N,f)
这里A代表一个元胞自动机系统;L表示元胞空间,d是一正整数,表示元胞自动机内元胞空间的维数;S是元胞的有限的、离散的状态集合;N表示一个所有邻域内元胞的组合(包括中心元胞),即包含n个不同元胞状态的一个空间矢量,记为:
N=(s1,s2,...,sn)
n是元胞的邻居个数。si∈Z(整数集合),i∈{1,...,n};f表示将Sn映射到S上的一个局部转换函数。所有的元胞位于d维空间上,其位置可用一个d元的整数矩阵Zd来确定。

元胞自动机的一般特征

     从元胞自动机的构成及其规则上分析,标准的元胞自动机应具有以下几个特征(谢惠民,1994;李才伟,1997):
(1)同质性、齐性,同质性反映在元胞空间内的每个元胞的变化都服从相同的规律,即元胞自动机的规则,或称为转换函数;而齐性指的是元胞的分布方式相同,大小、形状相同,空间分布规则整齐;
(2)空间离散:元胞分布在按照一定规则划分的离散的元胞空间上;
(3)时间离散:系统的演化是按照等间隔时间分步进行的,时间变量t只能取等步长的时刻点,形似整数形式的t0,t十l,t十2…,而且,t时刻的状态构形只对其下一时刻,即t+1时刻的状态构形产生影响,而t+2时刻的状态构形完全决定于t+1的状态构形及定义在上面的砖换函数。元胞自动机的时间变量区别于微分方程中的时间变量t,那里t通常是个连续值变量;
(4)状态离散有限:元胞自动器的状态只能取有限(k)个离散值(s1,s2,...,sk)。相对于连续状态的动力系统,它不需要经过粗粒化处理就能转化为符号序列。而在实际应用中,往往需要将有些连续变量进行离散化,如分类,分级,以便于建立元胞自动机模型;
(5)同步计算(并行性):各个元胞的在时刻ti+1的状态变化是独立的行为,相互没有任何影响。若将元胞自动机的构形变化看成是对数据或信息的计算或处理,则元胞自动机的处理是同步进行的,特别适合于并行计算;
(6)时空局部性:每一个元胞的下一时刻ti+1的状态,取决于其周围半径为r的邻域(或者其它形式邻居规则定义下的邻域)中的元胞的当前时刻ti的状态,即所谓时间、空间的局部性。从信息传输的角度来看,元胞自动机中信息的传递速度是有限的;
(7)维数高:在动力系统中一般将变量的个数成为维数。例如,将区间映射生成的动力系统称为一维动力系统;将平面映射生成的动力系统称为二维动力系统;对于偏微分方程描述的动力系统则称为无穷维动力系统。从这个角度来看,由于任何完备元胞自动机的元胞空间是定义在一维、二维或多维空间上的无限集,每个元胞的状态便是这个动力学系统的变量。因此,元胞自动机是一类无穷维动力系统。在具体应用中或计算机模拟时当然不可能处理无限个变量,但一股也总是处理数量很大的元胞组成的系统。因此可以说维数高
是元胞自动机研究中的一个特点。

在元胞自动机是由空间上各项同性的一系列元胞所组成,是在有限元胞自动机基础上发 展起来的,用于模拟和分析几何空间内的各种现象。
2.2.1 典型的元胞自动机
在元胞自动机的发展过程中,科学家们构造了各种各样的元胞自动机模型。其中,以下几个典型模型对元胞自动机的理论方法的研究起到了极大的推动作用,因此,它们又被认为是元胞自动机发展历程中的几个里程碑。
元胞自动机的应用

l. S. Wolfram和初等元胞自动机
     初等元胞自动机(Elementary Cellular Automata,简称ECA)是状态集S只有两个元素{s1,s2},即状态个数k=2,邻居半径r=l的一维元胞自动机(谢惠民,1994、李才伟,1997、Wolfram,S,1986)。它几乎是最简单的元胞自动机模型。由于在S中具体采用什么符号并不重要,它可取 {0,1},{-l,1},{静止,运动},{黑,白},{生,死}等等,这里重要的是S所含的符号个数,通常我们将其记为 {0,1}。此时,邻居集N的个数2r=2,局部映射f:S
3→S可记为:

元胞自动机--转 - Firefly727 - Firefly727

     其中变量有三个,每个变量取两个状态值,那么就有2×2×2=8种组合,只要给出在这八个自变量组合上的值,f就完全确定了。例如以下映射便是其中的一个规则:

元胞自动机--转 - Firefly727 - Firefly727

通常这种规则也可表示为以下图形方式 (黑色方块代表l,白色方块代表0):

元胞自动机--转 - Firefly727 - Firefly727

     这样,对于任何一个一维的0,1序列,应用以上规则,可以产生下一时刻的相应的序列。以下序列就是应用以上规则产生的:

t: 010111110101011100010
t+1:1010001010101010001

     以上八种组合分别对应0或1,因而这样的组合共有28=256种,即初等元胞自动机只可能有256种不同规则。S. Wolfram定义由上述八种构形产生的八个结果组成一个二进制(注意高低位顺序),如上可得01001100,然后计算它的十进制值R:

元胞自动机--转 - Firefly727 - Firefly727

     R在[0,255]内,S. Wolfram定义R为初等元胞自动机的标号,则上面的元胞自动机模型就是76号初等元胞自动机 (谢惠民,1994;李才伟,1997)。

元胞自动机--转 - Firefly727 - Firefly727

     S. Wolfram对这256种模型一一进行了详细而深入的研究。研究表明,尽管初等元胞自动机是如此简单,但它们表现出各种各样的高度复杂的空间形态。经过一定时间,有些元胞自动机生成一种稳定状态,或静止,或产生周期性结构,那么,有些产生自组织、自相似的分形结构。S. Wolham(1983)借用分形理论计算了它们的维数约为1.59或1.69(Wolfram,S.,1983)。但256种元胞自动机中没有一种属于S. Wolfram元胞自动机动力学分类得第四种,所谓复杂型。
    S. Wolfram对一维元胞自动机,尤其是初等元胞自动机的深入研究奠定了元胞自动机理论的基石。对元胞自动机的理论研究,以及后来的人工生命研究和近来兴起的复杂性科学 (Science of Complexity)研究作出了卓越的贡献。

2. J. Conway和 "生命游戏"

     生命游戏 (Came of Life)是J. H. Conway在20世纪60年代末设计的一种单人玩的计算机游戏(Garclner,M.,1970、1971)。他与现代的围棋游戏在某些特征上略有相似:围棋中有黑白两种棋子。生命游戏中的元胞有{"生","死"}两个状态 {0,1};围棋的棋盘是规则划分的网格,黑白两子在空间的分布决定双方的死活,而生命游戏也是规则划分的网格(元胞似国际象棋分布在网格内。而不象围棋的棋子分布在格网交叉点上)。根据元胞的局部空间构形来决定生死。只不过规则更为简单。下面介绍生命游戏的构成及规则:
(1)元胞分布在规则划分的网格上;
(2)元胞具有0,1两种状态,0代表"死",l代表"生";
(3)元胞以相邻的8个元胞为邻居。即Moore邻居形式;
(4)一个元胞的生死由其在该时刻本身的生死状态和周围八个邻居的状态 (确切讲是状态的和)决定:
·在当前时刻,如果一个元胞状态为"生",且八个相邻元胞中有两个或三个的状态为"生",则在下--时刻该元胞继续保持为"生",否则"死"去;
·在当前时刻。如果一个元胞状态为"死"。且八个相邻元胞中正好有三个为"生"。则该元胞在下一时刻 "复活"。否则保持为"死"。
尽管它的规则看上去很简单。但生命游戏是具有产生动态图案和动态结构能力的元胞自动机模型。它能产生丰富的、有趣的图案。生命游戏的优化与初始元胞状态值的分布有关,给定任意的初始状态分布。经过若干步的运算,有的图案会很快消失。而有的图案则固定不动,有的周而复始重复两个或几个图案,有的婉蜒而行。有的则保持图案定向移动,形似阅兵阵……,其中最为著名的是"滑翔机 (叫Glider)"的图案。

元胞自动机--转 - Firefly727 - Firefly727

    生命游戏模型已在多方面得到应用。他的演化规则近似地描述了生物群体的生存繁殖规律:在生命密度过小(相邻元胞数之2)时,由于孤单、缺乏配种繁殖机会、缺乏互助也会出现生命危机,元胞状态值由1变为0;在生命密度过大 (相邻元胞数>3)时,由于环境恶化、资源短缺以及相互竞争而出现生存危机,元胞状态值由1变为0;只有处于个体适中(相邻元胞数为2或3)位置的生物才能生存(保持元胞的状态值为1)和繁衍后代(元胞状态值由0变为1)。正由于它能够模拟生命活动中的生存、灭绝、竞争等等复杂现象,因而得名"生命游戏"。J·H·Conway还证明,这个元胞自动机具有通用图灵机的计算能力(谢惠民,1994;李才伟,1997),与图灵机等价,也就是说给定适当的初始条件,生命游戏模型能够模拟任何一种计算机。
     从数学模型的角度看,该模型将平面划分成方格棋盘,每个方格代表一个元胞。
元胞状态:0 死亡,1- 活着
领域半径:1
领域类型:Moore型

元胞自动机--转 - Firefly727 - Firefly727

其中St表示t时刻元胞的状态,S为8个相邻元胞中活着的元胞数。
     另外,需要指出的是,目前随着人们对 "生命游戏"研究的深入,产生了许多变种和扩展。在80年代末,A·K·Dewdney (Dewdney,A·K,1987)和C·Bays (Bays,C,1987)Dewdney,A·K·,1990)将Conway的生命游戏扩展到了三维空间上,构建了三维生命游戏,并对其规则作了具有普遍性的扩展(图2-3)。C·Bays的学生Lee Meeker在此基础上进一步构建了四维的生命游戏。另外,Gardner (Gardner,M·,1970、1971、1983)等人也曾在这方面作了很多迸一步的研究工作。

元胞自动机--转 - Firefly727 - Firefly727

     对游戏规则的扩展主要是引入了4个参数EbEkFbFk,Eb表示对于一个"活"元胞,在下一个时刻,继续保持其状态所需要的最少的"活"邻居的数目,而Fb则表示对于一个 "死"元胞,在下一时刻,"复活"所需要的最小的"活"邻居的数目,Ek和Fk则分别表示上述情况的上限值。演化规则修改为

元胞自动机--转 - Firefly727 - Firefly727

3.格子气自动机

     格子气自动机 (Lattice一GasAutomata,LGA又称格气机),是元胞自动机在流体力学与统计物理中的具体化,也是元胞自动机在科学研究领域成功应用的范例 (李才伟,1997)。相对于"生命游戏"来说,格子气自动机是个更注重于模型的实用性。它利用元胞自动机的动态特征,来模拟流体粒子的运动。
     第一个时空、速度等变量完全离散的格子气自动机是1973年由法国的J·Hardy、Y·Pomeau和O·Pazzis提出的HPP模型,它的模拟结果已经很接近流体力学中描述流体运动的Navier-Strokes方程。但模型中的流体粒子的运动只允许有四个方向,造成应力张量各向异性的致命弱点,尚不能充分反映流体的特征,因此在较长时间内没有受到足够的重视。直到20世纪80年代,S·Wolfram等人的研究工作使得元胞自动机理论产生了质的飞跃,同时也带动了格子气自动机的进一步发展。1986年,法国的U·Frish、Y·Pomeau和美国的B·HassIacher在HPP模型的基础上提出了一个有实用价值的、基于六角形网络的格子气自动机模型,得名为FHP(Fritsch-Has,lacher-Pomeau)模型,并证明该模型的宏观行为符合标准的Navier-Stokes方程(李才伟,1997)。FHP模型是第一个成功的格子气模型,并激发了研究格子气模型研究的热潮,人们在几年内发表了数百篇论文,其中包括Gerhart(l995),Lim(1988),Xiao-Guang Wu(1994),李元香(1991)等人的进一步工作。在90年代中后期,一种被称为格点波尔兹曼方程 (Lattice Bolzmann)的改进模型逐步取代了原有的格气模型。
     应当说,格子气自动机是一种特殊的元胞自动机模型,或者说是一个扩展的元胞自动机模型 (Extended Cellular Automata)。以早期的格子气模型为例,描述其特征如下:
     (1)由于流体粒子不会轻易从模型空间中消失,这个特征需要格子气自动机是一个可逆元胞自动机模型。
     (2)格子气自动机的邻居模型通常采用Margulos类型,即它的规则是基于一个2X2的网格空间的。它的规则形似如下:

元胞自动机--转 - Firefly727 - Firefly727

     这里黑色球代表流体粒子,白色球代表空的元胞。可以看出,格子气自动机不同于其它的元胞自动机模型,以一个元胞(常被称为中心元胞,为研究对象,考虑其状态的转换,而是考虑包含四个元胞的一个四方块。
     (3)依照上述规则和邻居模型在计算完一次后,需要将这个2X2的模板沿对角方向滑动,再计算一次。那么,一个流体粒子的运动需要两步t-t+l-t+2才能完成。
     从时间和空间的角度看,格子气自动机相对其他的元胞自动机模型具有较为独特的特征。格气自动机作为一种特殊类型的元胞自动机已成为流体动力学中的一个重要领域,几乎独立于元胞自动机研究之外了。

4. Langton和“能自我复制的元胞自动机”

     元胞自动机是一种离散的动态模型,由于它可以模拟自组织、自繁殖、信息储存和传递等现象,因而,被广泛地应用于生命现象的研究中。目前兴起的人工生命的研究就是来源于元胞自动机的深入研究,其主要论点是认为"自我复制"乃生命的核心特征。聚集在美国新墨西哥州的圣塔费研究所(Santa Fe Institute)的科学家们在这方面作了很多深入的工作,最著名的成果之一就是Christopher Langton在二维元胞自动机中发现的一个能自我复制的"圈"或称"能自我复制的元胞自动机"(谭跃进等,1996; Longton,C·G·,1987)。当然,他的研究是基于先前一系列研究的基础上的:
     Langton在von Neumann和Codd工作的基础上,设计了一个能自我复制的"圈"。元胞状态在 (0,1,2,3,4,5,6,7)中取值,其中,0,1,2,3构成元胞自动机的基本结构,04,05,06,07代表信号。l代表"核"元胞;2代表"壳"元胞,是边界;2包围的部分构成信息通道或称数据路径。邻居模型采用Von Neumann的4邻居模型。
     元胞自动机通过信号元胞替代相邻的元胞,如状态为1的元胞,而完成信号传递。信号传播的过程可以通过下面的例子说明:

元胞自动机--转 - Firefly727 - Firefly727


     数据路径可以分支,在分支的节点处,信号在各个分支中复制本身,产生多个复制品。
下图中,07信号在T形的交叉点处,复制自身:

元胞自动机--转 - Firefly727 - Firefly727

     这个元胞自动机模型的另外一个重要特征就是路径扩张。即一定的信号可以产生数据路径的延伸,如下图所示:

元胞自动机--转 - Firefly727 - Firefly727

     有了上面的论述,下面的具有路径扩张的、能自我复制的"圈"的工作机理应当容易理解了。

元胞自动机--转 - Firefly727 - Firefly727

<p align="ce

    元胞自动机可用来研究很多一般现象。其中包括通信、信息传递(Communicahon)、计算(Compulation)、构造 (ConsTruction)、生长 (Growth)、复制 (Reproductionj、竞争(Competition)与进化(Evolutio,])等(Smith A.,1969;Perrier,J.Y.,1996)。同时。它为动力学系统理论中有关秩序 (Ordering)、紊动 (Turbulence)、混沌 (Chaos)、非对称(Symmetry-Breaking)、分形(Fractality)等系统整体行为与复杂现象的研究提供了一个有效的模型工具 (Vichhac。G,1984; Bennett,C,1985)。
     元胞自动机自产生以来,被广泛地应用到社会、经济、军事和科学研究的各个领域。应用领域涉及社会学、生物学、生态学、信息科学、计算机科学、数学、物理学、化学、地理、歹境、军事学等。
     在社会学中,元胞自动机用于研究经济危机的形成与爆发过程、个人行为的社会性,流行现象,如服装流行色的形成等。在生物学中,元胞自动机的设计思想本身就来源于生物学自繁殖的思想,因而它在生物学上的应用更为自然而广泛。例如元胞自动机朋于肿瘤细胞的增长机理和过程模拟、人类大脑的机理探索(Victor.Jonathan.D.,1990)、爱滋病病毒HIV的感染过程(Sieburg,H.B.. 1990)、自组织、自繁殖等生命现象的研究以及最新流行的克隆 (Clone)技术的研究等 (ErmentroutG。B。,1993)。
     在生态学中。元胞自动机用于兔子-草,鲨鱼-小鱼等生态动态变化过程的模拟,展示出令人满意的动态效果;元胞自动机还成功地应用于蚂蚁、大雁、鱼类洄游等动物的群体行为的模拟;另外,基于元胞自动机模型的生物群落的扩散模拟也是当前的一个应用热点。在信息学中。元胞自动机冉于研究信息的保存、传递、扩散的过程。另外。Deutsch(1972)、Sternberg(1980)和Rosenfeld(1979)等人还将二维元胞自动机应用到图像处理和模式识别中 (WoIfram.S.,1983)。
     在计算机科学中。元胞自动机可以被看作是并行计算机而用于并行计算的研究(Wolfram.S.1983)。另外。元胞自动机还应用于计算机图形学的研究中。
     在数学中,元胞自动机可用来研究数论和并行计算。例如Fischer(1965)设计的素数过滤器(Prime Number Sieves)(Wolfram,S.1983)。
     在物理学中。除了格子气元胞自动机在流体力学上的成功应用。元胞自动机还应用于磁场、电场等场的模拟,以及热扩散、热传导和机械波的模拟。另外。元胞自动机还用来模拟雪花等枝晶的形成。
     在化学中,元胞自动机可用来通过模拟原子、分子等各种微观粒子在化学反应中的相互作用,而研究化学反应的过程。例如李才伟 (1997)应用元胞自动机模型成功模拟了由耗散结构创始人I·Prgogine所领导的Brussel学派提出的自催化模型---Brusselator模型,又称为三分子模型。Y·BarYam等人利用元胞自动机模型构造了高分子的聚合过程模拟模型,在环境科学上,有人应用元胞自动机来模拟海上石油泄露后的油污扩散、工厂周围废水、废气的扩散等过程的模拟。
     在军事科学中,元胞自动机模型可用来进行战场的军事作战模拟"提供对战争过程的aq理解(谭跃进等,1996)。
     元胞自动机作为一种动态模型,更多的是作为一种通用性建模的方法,其应用几乎涉
及社会和自然科学的各个领域,在此我们不在一一介绍。

例(元包自动机的模型其中之一)

在基于投资分析的股票市场演化元胞自动机模型的基础上,建立了兖州煤业股票市场的单支股票元胞自动机演化模型,并以演化模型产生的股价指数序列为研究对象进行了动力学分析.通过考察股价指数序列在重构相空间中的轨迹,我们发现了股票市场中的混沌现象;通过相空间的分形维计算,说明了建立股票市场的动力学方程是有可能的;根据模拟模型和现实市场的对比分析,进一步证实了基于投资分析的股票市场演化元胞自动机模型,在模拟股票市场复杂性方面的可行性. ...