元胞自动机的构建没有固定的数学公式,构成方式繁杂,变种很多,行为复杂。故其分类难度也较大,自元胞自动机产生以来,对于元胞自动机分类的研究就是元胞自动机的一个重要的研究课题和核心理论,在基于不同的出发点,元胞自动机可有多种分类,其中,最具影响力的当属s. wolfram在80年代初做的基于动力学行为的元胞自动机分类,而基于维数的元胞自动机分类也是最简单和最常用的划分。除此之外,在1990年,howard a.gutowitz提出了基于元胞自动机行为的马尔科夫概率量测的层次化、参量化的分类体系(gutowitz, h. a. ,1990)。下面就上述的前两种分类作进一步的介绍。同时就几种特殊类型的元胞自动机进行介绍和探讨s. wolfrarm在详细分忻研究了一维元胞自动机的演化行为,并在大量的计算机实验的基础上,将所有元胞自动机的动力学行为归纳为四大类(wolfram. s.,1986):
- ]$ a, Y1 l* V3 f 这个动态演化又由各个元胞的局部演化规则f所决定的。这个局部函数f通常又常常被称为局部规则。对于一维空间,元胞及其邻居可以记为S2r+1,局部函数则可以记为: 7 q. ^/ K& C4 `: A, o+ s. [. W( g' B' Z/ ?; k# ^; x
对于局部规则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对元胞空间内的元胞,独立施加上述局部函数,则可得到全局的演化: o( E; W9 e2 {8 c7 O , Y9 {: \( V0 Ocit 表示在位置i处的元胞,至此,我们就得到了一个元胞自动机模型。 $ m, `; d% z1 H2 T( ^2)元胞自动机的拓扑学定义 9 C/ F1 F" l- o- G I* N( H 为描述和理解方便。同样假定维数d为1。设S为k个符号约有限集。Z为整数全体的集台,称Z到S的映射的全体SZ为构形空间。显然SZ就是用S中的符号组成的双侧无限的符号序列的全体,即一维元胞自动机的所有构形的集合。称a=(…a-1a0a1,...)为构形空间中的点。 8 f6 ~4 d9 H9 b# p: i 在SZ中引进任意两点x和y之间的距离; A+ X% Z4 b1 s5 U9 Y
* `/ W' l9 j c! O, p$ e
其中当xi=yi时δ(xi,yi)=0,当xi≠yi时δ(xi,yi)=1。然后。在SZ中可以建立起开、闭、紧等拓扑概念。& Q; T, O* m; G
在SZ中定义移位算子δ为δ(xi)=xi-1,i∈Z。若连续映射F:SZ->SZ产与δ可交换,即Fδ=δF。或对任意的x∈SZ有F((δ(x))=δ(F(x)),则称F为元胞自动机 (谢惠民,1994)。 6 k' L/ P! [5 E4 H' P 对于以上定义,我们很容易将它扩展到一个任意维空间,所要做的工作只是将SZ记为SZ^d,S2r+1记为S(2r+1)^d等,同时对一些描述作相应改变即可。 ) ]2 T9 E; x9 v$ C# n5 A) u6 `/ L* @元胞自动机的构成( C6 f \* D3 w5 P' v
元胞自动机最基本的组成元胞、元胞空间、邻居及规则四部分。简单讲,元胞自动机可以视为由一个元胞空间和定义于该空间的变换函数所组成。 # ~, m1 G* B. p7 L' U% X$ a1 S7 ?1 O2 h* n5 f! k
1.元胞' b; [% D% W* I& D
元胞又可称为单元。或基元,是元胞自动机的最基本的组成部分。元胞分布在离散的一维、二维或多维欧几里德空间的晶格点上。 " G! p' ^. g* n# m* e2.状态 9 k8 [) W& G3 N/ u8 E3 Q$ b3 j; @ 状态可以是{0,1}的二进制形式。或是{s0,s2,……si……sk}整数形式的离散集,严格意义上。元胞自动机的元胞只能有一个犬态变量。但在实际应用中,往往将其进行了扩展。例如每个元胞可以拥有多个状态变量。李才伟(1997)在其博士论文工作中,就设计实现了这样一种称之为"多元随机元胞自动机"模型。并且定义了元胞空间的邻居(Neighbor)关系。由于邻居关系,每个元胞有有限个元胞作为它的邻居; J, d& d: `, l, X1 D8 ?
3.元胞空间(Lattice)+ L+ |0 D+ ~, d6 C
元胞所分布在的空间网点集合就是这里的元胞空间。+ V. q0 i( }9 d2 t
(l)元胞空间的几何划分:理论上,它可以是任意维数的欧几里德空间规则划分。目前研究多集中在一维和二维元胞自动机上。对于一维元抱自动机。元胞空间的划分只有一种。而高维的元胞自动机。元胞空间的划分则可能有多种形式。对于最为常见的二维元胞自动机。二维元胞空间通常可按三角、四万或六边形三种网格排列 (图2-5)。 t" \# e4 `0 s! Z! U3 `7 T
1 l1 ~' R( M8 q1 ?# c* x 这三种规则的元胞空间划分在构模时各有优缺点:' w+ @: {- ~/ ?- c2 b$ V# I
三角网格的优点是拥有相对较少的邻居数目,这在某些时候很有用;其缺点是在计算机的表达与显示不方便,需要转换为四方网格。 1 c. ~4 K5 x: T 四方网格的优点是直观而简单,而且特别适合于在现有计算机环境下进行表达显示;其缺点是不能较好地模拟各向同性的现象,例如后面提到的格子气模型中的HPP模型。, \- ^0 l G5 B+ d+ U
六边形网格的优点是能较好地模拟各向同性的现象,因此,模型能更加自然而真实,如格气模型中的FHP模型;其缺点同三角网格一样,在表达显示上较为困难、复杂。8 w9 M3 t. S$ k4 o# r
(2)边界条件:在理论上,元胞空间通常是在各维向上是无限延展的,这有利于在理论上的推理和研究。但是在实际应用过程中,我们无法在计算机上实现这一理想条件,因此,我们需要定义不同的边界条件。归纳起来,边界条件主要有三种类型:周期型、反射型和定值型。有时,在应用中,为更加客观、自然地模拟实际现象,还有可能采用随机型,即在边界实时产生随机值。. V4 Y. ~, ?& d8 z F' S2 T
周期型(Pehodic Boundary)是指相对边界连接起来的元胞空间。对于一维空间,元胞空间表现为一个首尾相接的"圈"。对于二维空间,上下相接,左右相接。而形成一个拓扑圆环面 (Torus),形似车胎或甜点圈。周期型空间与无限空间最为接近,因而在理论探讨时,常以此类空间型作为试验。; K4 e5 O( w- F4 s
反射型(Reflective Boundary)指在边界外邻居的元胞状态是以边界为轴的镜面反射。例如在一维空间中,当r=1时的边界情形:5 j+ Z% M1 G& V$ Z( k4 ?8 q& S
8 ~; e% ]5 }( ]& K
定值型 (Constant Boundary)指所有边界外元胞均取某一固定常量,如0,1等。 1 }' D" J& D: E( w 需要指出的是,这三种边界类型在实际应用中,尤其是二维或更高维数的构模时,可以相互结合。如在二维空间中,上下边界采用反射型,左右边界可采用周期型 (相对边界中。不能一方单方面采用周期型)。 2 I/ i0 b5 `3 y" j (3)构形:在这个元胞、状态、元胞空间的概念基础上,我们引入另外一个非常重要的概念,构形(Configuration)。构形是在某个时刻,在元胞空间上所有元胞状态的空间分布组合。通常。在数学上,它可以表示为一个多维的整数矩阵。4 X7 j" i5 j( |$ ^/ k
4.邻居 (Neighbor) ' b4 C+ U, j4 S! S+ [9 H8 I 以上的元胞及元胞空间只表示了系统的静态成分,为将"动态"引入系统,必须加入演化规则。在元胞自动机中,这些规则是定义在空间局部范围内的,即一个元胞下一时刻的状态决定于本身状态和它的邻居元胞的状态。因而,在指定规则之前,必须定义一定的邻居规则,明确哪些元胞属于该元胞的邻居。在一维元胞自动机中,通常以半径,来确定邻居,距离一个元胞,内的所有元胞均被认为是该元胞的邻居。二维元胞自动机的邻居定义较为复杂,但通常有以下几种形式(我们以最常用的规则四方网格划分为例)。见图2-6,黑色 2 s8 V9 Z' p3 v- f元胞为中心元胞,灰色元胞为其邻居,它们的状态一起来计算中心元胞在下一时刻的状态。 ; j9 m! h1 a2 T; X 5 e* a P0 r% v6 f3 cl)冯-诺依曼(Von. Neumann)型 p9 {; ~- |/ a) i& o- l
一个元胞的上、下、左、有相邻四个元胞为该元胞的邻居。这里,邻居半径r为1,相当于图像处理中的四邻域、四方向。其邻居定义如下:5 A: o- \3 u+ l7 [) Z) G& z) w
8 r. m2 I' D' C6 J' Jvixviy表示邻居元胞的行列坐标值,vox表示中心元胞的行列坐标值。此时,对于四方网格,在维数为d时,一个元胞的邻居个数为2d。 $ ?; M8 `6 e: r) @* r6 {4 [9 }! a+ S" i
2)摩尔(Moore)型 ; s$ E7 m9 C+ j) l. b. ]一个元胞的上、下、左、右、左上、右上、右下、左下相邻八个元胞为该元胞的邻居。邻居半径r同样为1,相当于图像处理中的八邻域、八方向。其邻居定义如下:# k( X$ s% F0 N: @- y
: l/ T, ? Y3 l+ _+ U0 `
vixviyvox意义同前。此时,对于四方网格,在维数为d时。一个元胞的邻居个数为 (3d-1)。# H: {- N7 E, O# a8 j1 X
3)扩展的摩尔(Moore)型. C5 P3 t, ?; l" J& E
将以上的邻居半径r扩展为2或者更大,即得到所谓扩展的摩尔型邻居。其数学定义可以表示为:1 P- m7 Z, A4 [2 I6 V
2 D$ N( n P& q! {
此时,对于四方网格,在维数为d时,一个元胞的邻居个数为 ((2r十1)d-1)。 5 | k! g; v% ?4)马哥勒斯 (Margolus)型 $ m; z; y! r1 A8 m" i! B 这是一种同以上邻居模型迥然不同的邻居类型,它是每次将一个2x2的元胞块做统一处理,而上述前三种邻居模型中,每个元胞是分别处理的。这种元胞自动机邻居是由于格子气的成功应用而受到人们关注的,关于这种邻居模型的详细介绍,请参照本文对格子气动机的介绍。 7 Q) j% t) _; B; a Z- B5.规则(Rule)) {, m6 I4 y+ I/ @& ]7 D0 a
根据元胞当前状态及其邻居状况确定下一时刻该元胞状态的动力学函数,简单讲,就是一个状态转移函数。我们将一个元胞的所有可能状态连同负责该元胞的状态变换的规则一起称为一个变换函数 (史忠植,1998)。这个函数构造了一种简单的、离散的空间/时间的局部物理成分。要修改的范围里采用这个局部物理成分对其结构的"元胞"重复修改。这样,尽管物理结构的本身每次都不发展。但是状态在变化(史忠植,1998)。它可以记为f: sit+1=f(sit,sNt),sNt为t时刻的邻居状态组合,我们称f为元胞自动机的局部映1 u/ y8 S5 C8 ^
射或局部规则 (谢惠民,1994)。6 @1 [0 X9 ]/ W% P9 M. v
6.时间 (Time) - v% C. q2 B% i: @; _ 元胞自动机是一个动态系统,它在时间维上的变化是离散的,即时间f是一个整数值,而且连续等间距。假设时间间距dt=1,若t=O为初始时刻。那么。t=1为其下一时刻。在上述转换函数中,一个元胞在t十1的时刻只(直接)决定于t时刻的该元胞及其邻居元胞的状态,虽然,在t-1时刻的元胞及其邻居元胞的状态间接(时间上的滞后)影响了元胞在t+1的时刻的状态。 ) J* X, E) l0 F' [ 由以上对元胞自动机的组成分析,我们可以更加深入地理解元胞自动机的概念。用数学符号来表示,标准的元胞自动机是一个四元组 (Amoroso,S.,1972): 9 A; h2 E( W; \" ?2 iA=(Ld,S,N,f)7 y: r8 o. V8 L4 e& |0 f8 _+ O
这里A代表一个元胞自动机系统;L表示元胞空间,d是一正整数,表示元胞自动机内元胞空间的维数;S是元胞的有限的、离散的状态集合;N表示一个所有邻域内元胞的组合(包括中心元胞),即包含n个不同元胞状态的一个空间矢量,记为:+ u- e9 q5 F# }$ G8 h9 f
N=(s1,s2,...,sn)5 Z2 O3 p3 h* ~" j, s
n是元胞的邻居个数。si∈Z(整数集合),i∈{1,...,n};f表示将Sn映射到S上的一个局部转换函数。所有的元胞位于d维空间上,其位置可用一个d元的整数矩阵Zd来确定。& U% R; b( Q+ S! u0 U. L
元胞自动机的一般特征 ; B$ w# |. C2 S/ q/ q% M# U3 H 从元胞自动机的构成及其规则上分析,标准的元胞自动机应具有以下几个特征(谢惠民,1994;李才伟,1997):" ^4 S$ {0 M8 v2 ~& R. N
(1)同质性、齐性,同质性反映在元胞空间内的每个元胞的变化都服从相同的规律,即元胞自动机的规则,或称为转换函数;而齐性指的是元胞的分布方式相同,大小、形状相同,空间分布规则整齐;1 P- T" j7 A. k/ C2 }( g9 L
(2)空间离散:元胞分布在按照一定规则划分的离散的元胞空间上;5 {9 X0 f5 j$ s; X
(3)时间离散:系统的演化是按照等间隔时间分步进行的,时间变量t只能取等步长的时刻点,形似整数形式的t0,t十l,t十2…,而且,t时刻的状态构形只对其下一时刻,即t+1时刻的状态构形产生影响,而t+2时刻的状态构形完全决定于t+1的状态构形及定义在上面的砖换函数。元胞自动机的时间变量区别于微分方程中的时间变量t,那里t通常是个连续值变量;# [8 j2 H- `: _# E# T
(4)状态离散有限:元胞自动器的状态只能取有限(k)个离散值(s1,s2,...,sk)。相对于连续状态的动力系统,它不需要经过粗粒化处理就能转化为符号序列。而在实际应用中,往往需要将有些连续变量进行离散化,如分类,分级,以便于建立元胞自动机模型;. [7 B! ~5 D% H# }2 C2 Q6 @
(5)同步计算(并行性):各个元胞的在时刻ti+1的状态变化是独立的行为,相互没有任何影响。若将元胞自动机的构形变化看成是对数据或信息的计算或处理,则元胞自动机的处理是同步进行的,特别适合于并行计算;5 i( {. @% w- Y; X* l
(6)时空局部性:每一个元胞的下一时刻ti+1的状态,取决于其周围半径为r的邻域(或者其它形式邻居规则定义下的邻域)中的元胞的当前时刻ti的状态,即所谓时间、空间的局部性。从信息传输的角度来看,元胞自动机中信息的传递速度是有限的;6 G$ F& Z$ D/ M5 y
(7)维数高:在动力系统中一般将变量的个数成为维数。例如,将区间映射生成的动力系统称为一维动力系统;将平面映射生成的动力系统称为二维动力系统;对于偏微分方程描述的动力系统则称为无穷维动力系统。从这个角度来看,由于任何完备元胞自动机的元胞空间是定义在一维、二维或多维空间上的无限集,每个元胞的状态便是这个动力学系统的变量。因此,元胞自动机是一类无穷维动力系统。在具体应用中或计算机模拟时当然不可能处理无限个变量,但一股也总是处理数量很大的元胞组成的系统。因此可以说维数高. ~ {! |. Z1 b4 P' r
是元胞自动机研究中的一个特点。 % e- r* @8 T( A0 t; O! Z! [: }$ R 在实际应用过程中,许多元胞自动机模型已经对其中的某些特征进行了扩展,例如圣托斯兰州立大学(San Tose State University)研究的所谓连续型的元胞自动机,其状态就是连续的。但正如我们在元胞自动机的概念分析中指出的,在上述恃征中,同质性、并行性、局部性是元胞自动机的核心恃证,任何对元胞自动机的扩展应当尽量保持这些核心特征,尤其是局部性特征。 . N- C6 z# i) P3 z1 V# ~% n$ o( z * J% _6 Y, w6 J9 q元胞自动机与相关理论和方法的发展有着千丝万缕的联系,一方面,元胞自动机的发展得益于相关理论的研究,如逻辑数学、离散数学、计算机中的自动机理论,图灵机思想;另一方面,元胞自动机的发展也促进了一些相关学科和理论(如人工智能、非线性科学、复杂性科学)的发展,甚至还直接导致了人工生命科学的产生。另外,在表现上,元胞自动机模型还与一些理论方法存在着较大的相似性,或者相对性。下面,我们对元胞自动机的一些相关理论方法,以及它们与元胞自动机模型的关系进行简要讨论。+ F! \, a+ w. n6 F. [6 G6 p 1.元胞自动机与人工生命研究1 g9 e3 N) O8 g" f# l- x! `6 C
人工生命是90年代才刚刚诞生的新生科学,是复杂性科学研究的支柱学科之一。人工生命是研究能够展示自然界生命系统行为特征的人工系统的一间科学,它试图在计算机、机器人等人工媒体上仿真、合成和生物有机体相关联的一些基本现象,如自我复制、寄生、竞争、进化、协作等,并研究和观察"可能的生命现象"(Life-as-it-could-be),从而使人们能够加深理解"已知的生命现象"(Life-as-we-know-it)(Longton,C·G·,1987;吴建兵,1998)。 0 z {. @ i9 ]4 J, ^( A% t- b元胞自动机是人工生命的重要研究工具和理论方法分支,兰顿(Christopher Langton)等人正是基于对元胞自动机的深入研究提出和发展了人工生命。同时,人工生命的发展又为元胞自动机赋予了新的涵义,元胞自动机模型得到科学家们的重新认识和认可,并在90年代又一次成为科学研究的前沿课题,其理论和方法得到进一步的提高。另外,元胞自动机与其他的人工生命研究方法有着很大的相似性。元胞自动机模型与神经网络、遗传算法等其他人工生命方法一样,都是基于局部的相互作用,来研究系统的整体行为。另外,元胞自动机、神经网络、L—系统都可以归为非线性动力学中的网络动力学模型,它们相互联系,关系密切。目前,一种被称为元胞神经网络(Cellular Neural Network,简称CNN)的模型就是元胞自动机与神经网络结合的产物。* [( w* J; E2 d$ h. V8 o 2.元胞自动机与"混沌的边缘" / p+ X# B- i8 M. v5 s' M2 H "混沌的边缘 (On the Edge of Chaos)(Langton C. G.,1992;M. Waldrop,1997)"是当前复杂性科学研究的一个重要成果和标志性口号,为圣塔菲(Santa Fee)学派的旗帜。所谓的"混沌"并非科学意义上的"混沌",而是Chaos本身的原有涵义,即与有序相对的"混乱"、"无序"的概念。因此,"混沌的边缘"应当被理解为"混乱的边缘"。或"无序的边缘",而与混沌动力学的"混沌"没有直接联系。其实,"混沌的边缘"完整的含义是指:生命等复杂现象和复杂系统存在和产生于"混沌的边缘"。有序不是复杂,无序同样也不是复杂,复杂存在于无序的边缘。 0 u: X0 W( S/ Q6 Q: p3 l" u: ?1 M "混沌的边缘"这个概念是Norman Packard和Chhstopher Langton在对元胞自动机深入研究的基础上提出的,在此我们予以简要介绍。 7 ]( _( S5 o$ D+ g. J# g7 N' DLangton在对S. Wolfram动力学行为分类的分析和研究基础上,提出"混沌的边缘"这个响亮的名词,认为元胞自动机,尤其是第四类元胞自动机是最具创造性动态系统--复杂状态,它恰恰界于秩序和混沌之间,在大多数的非线性系统中,往往存在一个相应于从系统由秩序到混沌变化的转换参数。例如,我们日常生活中的水龙头的滴水现象,随着水流速度的变化而呈现不同的稳定的一点周期、两点或多点周期乃至混沌、极度紊乱的复杂动态行为,显然,这里的水流速度。或者说水压就是这个非线性系统的状态参数。Langton则相应地定义了一个关于转换函数的参数,从而将元胞自动机的函数空间参数比。该参数变化时,元胞自动机可展现不同的动态行为,得到与连续动力学系统中相图相类似的参数空间,Langton的方法加下 (谭跃进,1996): A6 x8 y* E8 l. u: l 首先定义元胞的静态(Quiescent State)。元胞的静态具有这样的特征,如果元胞所有领域都处于静态。则该元胞在下一时刻将仍处于这种静态(类似于映射中的不动点)。现考虑一元胞自动机,每个元胞具有k种状态(状态集为Σ),每个元胞与n个相邻元胞相连。则共存在kn种邻域状态。选择k种状态中任意一种s∈Σ并称之为静态sq。假设对转换函数而言,共有nq种变换将邻域映射为该静态,剩下的kn-nq种状态被随机地、均匀地映射为Σ-{sq} 中的每一个状态。则可定义:- @8 a: R, ~# ?1 J9 h3 G
( U' ?- @ O! Z, F' l8 J 这样,对任意一个转换函数。定义了一个对应的参数值λ。随着参数λ由0到1地变化,元胞自动机的行为可从点状态吸引子变化到周期吸引子,并通过第四类复杂模式达到混沌吸引子因此,第四类具有局部结构的复杂模式处于。秩序"与"混沌"之间,被称之为"混沌的边缘",在上述的参数空间中。元胞自动机的动态行为(定性1具有点吸引于十周期吸引子->"复杂模式"->混沌吸引子这样的演化模式。同时,它又给元胞自动机的动力学行为的分类赋予了新的意义:即λ低于一定值(这里约为0.6),那么系统将过于简单。换句话说,太多的有序而使得系统缺乏创造性;另外一个极端情况,λ接近1时。系统变的过于紊乱,无法找出结构特征;那么,λ只有在某个值附近,所谓"混沌的边缘",系统使得极为复杂。也只有在此时,"生命现象"才可能存在。在这个基础上,兰顿提出和发展了人工生命科学。在现代系统科学中。耗散结构学指出"生命"以负墒为生,而Langton则创造性的提出生命存在于"混沌的边缘"。从另外一个角度对生命的复杂现象进行了更深层次 , g! ?% T' `4 x9 D: {探讨的。 8 j2 H8 \# |6 p- I3.元胞自动机与微分方程 0 R7 \) z! Q" w, n2 u1 @& T* W0 [ 微分方程有着三百多年的发展历史。一批伟大的科学家,如Euler、Caus。Langrange、Laplace、Poisson都作出了卓越的贡献。而且,后来发展的偏微分万程对量子力学等现代物理学的产生相发展有着重要的意义,一大批的物理规律就是利用偏微分方程来惟理和表达的,如麦克斯维方程等。恩格斯还指出“自然界的统一性,显示在关于各种现象领域的微分方程的 '惊人类似'之中"。总之,微分方程是现代科学的语言,也是科学研究中最为重要的研究工具之一。8 |2 o4 G6 ?* w8 n1 U$ O8 D, E
微分方程的主要特点是时间、空间均连续(如果方程中有空间因子的话),这是建立在时空连续的哲学认识基础上的。而元胞自动机则是完全的空间离散、时间离散,在这个意义上,微分方程和元胞自动机一对相对的计算方法 (Toffoli.T.,1987)。 : b$ U% l6 G9 z- G! @+ g- E: O% I 在人工计算的情况下。由符号组成的(偏)微分方程可以灵活地进行约简等符号运算,而得到精确的定量解。这是其优势。但在现代计算机日益发展,已成为我们科学研究的重要工具时,微分方程却遇到了一个尴尬的问题。即计算机是建立在离散的基础上的,微分方程在计算时不得不对自身进行时空离散化,建立差分方程等;或者展开成幂系列方程,截取部分展开式;或者采用某种转换用离散结构来表示连续变量。这个改造过程不仅是繁杂的,甚至是不可能解决的,但最重要的是在这个过程中,微分方程也失去了它的自身最重 4 ~/ L" `; \$ E4 U) e2 U要的特性----精确性、连续性。* J" M# p4 m% A8 O1 W, |
而对于元胞自动机来讲,脱离计算机环境来进行运算几乎是不可能的,但是借助计算机进行计算,则非常自然而合理,甚至它还是下一代并行计算机的原型。因此,在现代计算机的计算环境下,以元胞自动机为代表的离散计算方式在求解方面,尤其是动态系统模拟方面有着更大的优势。元胞自动机虽然在理论上具备计算的完备性,但满足特定目的构模尚无完备的理论支持,其构造往往是一个直觉过程。用元胞自动机得到一个定量的结果非常困难,即便是可能的话,元胞自动机也将陷入一个尴尬,元胞自动机的状态、规则等 , y9 O. D6 D% I! N- O$ T构成必然会复杂化,从而不可避免地失去其简单、生动的特性。 3 l8 s3 n& Y/ ~ 然而,证如物理学家玻尔所说,"相对的并不一定是矛盾的,有可能是相互补充和相互完善的"。二者互有优缺点,相互补充,都有其存在的理由。但在现代计算机环境下,对于元胞自动机这一类相对来讲还处于幼年阶段的离散计算方式,需要予以更多的关注和支持。在地理学中,Lowry、Wilson、张新生(张新生,1997)等人的空间动力学模型都是基于微分方程的模型,由于这些模型大多是复杂的非线性微分方程,无法求得其解析解,需要按Euler方法或Runge-Kutta方法对微分方程进行一步或多步差分,完成相应的计算机模型或在GIS支持下的空间分析模型。对于这些模型,我们都可以构建相应的元胞自动机模型。 4 F7 n" Z# i9 C2 g2 f4.元胞自动机与分形分维. T5 P* B9 @) K" ^5 Q& i. ^
元胞自动机与分形分维理论有着密切的联系。元胞自动机的自复制、混沌等特征,往往导致元胞自动机模型在空间构形上表现出自相似的分形特征,即元胞自动机的模拟结果通常可以用分形理论来进行定量的描述。同时,在分形分维的经典范例中,有些模型本身就是,或者很接近元胞自动机模型,例如下面我们提到的凝聚扩散模型,因此,某些元胞自动机模型本身就是分形动力学模型。但是,究其本质,元胞自动机与分形理论有着巨大的差别。" z5 S' h1 F8 L% m- E( B3 ~# U2 ]6 i
元胞自动机重在对想象机理的模拟与分析;分形分维重在对现象的表现形式的表达研究。元胞自动机建模时,从现象的规律入手,构建具有特定涵义的元胞自动机模型;而分形分维多是从物理或数学规律、规则构建模型,而后应用于某种特定复杂现象,其应用方式多为描述现象的自相似性和分形分维特征。然而,这些分数维究竟能够给我们提供多少更有价值的信息?分形理论的进一步应用问题尚末得到解决 (仪垂祥,1995)。4 I3 i* Z# m6 q, p- p1 k8 z+ Y
此外,两者都强调一个从局部到整体的过程,但在这个过程的实质上,二者却存在巨大的差异。分形论的精髓是自相似性。这种自相似性不局限于几何形态而具有更广泛更深刻的含义;它是局部 (部分)与整体在形态、功能、信息和结构特性等方面而具有统计意义上的相似性。因此,分形理论提供给我们分析问题的方法论就是从局部结构推断整体特征(陈述彭,1998)。相反,元胞自动机的精华在于局部的简单结构在一定的局部规则作用下,所产生的整体上的"突现"性复杂行为;即系统 (整体)在宏观层次上,其部分或部分的加和所不具有的性质(谭跃进等,1996)。因此,分形理论强调局部与整体的相似性和相关性,但元胞自动机重在表现"突现"特征,即局部行为结构与整体行为的不确定性、非线性关系。 + S' I- I8 F7 @8 h1 V5.元胞自动机与马尔科夫(链)过程 9 x6 J* q) F) n: Z& T+ G7 N e* O 马尔科夫过程(MarKov Process)是一个典型的随机过程。设X(t)是一随机过程,当过程在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,这个特性成为无后效性。无后效的随机过程称为马尔科夫过程。马尔科夫过程中的时同和状态既可以是连续的,又可以是离散的。我们称时间离散、状态离散的马尔科夫过程为马尔科夫链。马尔科夫链中,各个时刻的状态的转变由一个状态转移的概率矩阵控制。6 L4 M- H( g/ z+ y
马尔科夫链与元胞自动机都是时间离散、状态离散的动力学模型,二者在概念上有一定的相通性。尤其是对于随机型的元胞自动机来讲,每个元胞的行为可以视为一个不仅时间上无后效,而且在空间上无外效的马尔科夫链。 , D7 ^. n& L! Q& A7 b* a# e 但是,即使是随机型的元胞自动机也与马尔科夫链存在相当大的差别。首先,马尔科夫链没有空间概念,只有一个状态变量;而元胞自动机的状态量则是与空间位置概念紧密相关的;其次,马尔科夫链中的状态转移概率往往是预先设定好的,而随机型元胞自动机中的元胞状态转移概率则是由当前元胞的邻居构型所决定的。9 z6 y! I/ ^1 z- n0 f- X+ }) v 6.元胞自动机、随机行走模型和凝聚扩散模型& p1 E% N" `0 o
随机行走模型(Random Walk Model)模拟的是统计数学中提供"最可能状态"常用的数学模型。它的基本思想为:给定空间中的一个粒子:它在空间中的移动矢量 (包括方向和距离)是由跃迁概率的随机量所控制,由此可以模拟诸如自然界中的分子布朗运动、电子在金属中的随机运动等复杂过程。其理论研究主要集中在对单个粒子的运动规律的研究。但是,随机行走模型中粒子可以是很多个,但是它们遵循的规则都是一个统一的随机规程,而且它们之间的运动是相互独立的,互不影响。如果考虑它们之间的相互作用,就可能构' Y+ Y/ m- I( C; [$ o; V2 F. O+ t
造出其他基于随机行走的模型,例如凝聚扩散模型。8 p W4 c& Z" g- T
凝聚扩散(Diffusion-Limited Aggregation)模型,简称DLA,可以看作是一个多粒子的随机行走模型,而且它的计算空间也往往是一个离散的格网。它是由A·Written和Sander于1981年首先提出的。其基本思想如下:给定初始点作为凝聚点,以它作为圆心做一个大圆,在圆周上的一个随机点释放一个粒子,为简单起见,它的运动通常规定为一个随机行走过程,直到它运动至与已有的凝聚点相邻,改变它的状态为凝聚点,不再运动;再随机释放一个粒子;直至凝聚。重复上述过程,就可以得到一个凝聚点的连通集,形似冬日里玻璃上的冰花。凝聚扩散模型还可以有不同的形式,如释放点可以在一个四边形中的顶部,从而在下面省长出形似荆棘的灌丛。而1984年,R·F·Voss提出的多粒子凝聚扩散(Multi-Particle Diffusion Aggregation)模型是对凝聚扩散模型的改进和发展。其基本思想是:在给定的离散空间中,依照一定的密度随机散布自由粒子,在中心设置一个凝聚点作为种子点,也可以随机布设若干个凝聚点作为种子,然后各自由粒子随机行走,一旦与凝聚点相邻,则变为新的凝聚点,直至所有的自由粒子"凝聚"。6 a2 O! J+ j4 v4 a
$ @- |( Y2 ^8 g$ B, a" h$ e
元胞自动机、随机行走模型、凝聚扩散模型都是典型的分形图形的生成方法,在很多情况下,它们都可以生成相似的复杂图案。但它们之间仍存在着一定的差别。 ; t1 J9 ]+ }# o& h% E 随机行走模型与元胞自动自动机的差别在于以下几个方面:第一、随机行走模型通常只是考虑单个粒子的运动,而元胞自动机模型中则通常存在众多的元胞;第二、即使模型中,存在多个粒子,随机行走模型通常并不考虑粒子间的相互作用,粒子的运动是相互独立的;第三、随机行走中的粒子是运动的概念,而元胞自动机的元胞通常是一个状态变化的过程;第四、随机行走中的粒子的运动空间可以是离散的,也可以是连续的,但在元胞自动机中,元胞都分布在离散的空间网格上。" H' I! t3 q, K& K' J1 ~# a8 U
凝聚扩散模型。尤其是多粒子凝聚扩散模型与元胞自动机则非常相似:时间空间离散;模型中存在粒子的相互作用,且这种作用具有局部特征,即自由粒子在有凝聚点为邻居时,状态转变为凝聚点。特殊的是这种转变只是一个单向的转变,凝聚扩散模型在最终达到一种定态吸引子;粒子的运动遵循相通的规律,可以进行同步计算。因此。在广义上,凝聚扩散模型可以归为元胞自动机的一个特例。但是,它们之间仍存在以下几个不同点:一、元胞自动机模型面向的是整个网格空间,而凝聚扩散模型面向的是特定粒子的运动;二、元胞自动机的元胞通常只有状态的改变,其空间位置是固定的,而凝聚扩散模型中的粒子不仅有状态的变化,更是一个运动的粒子。三、凝聚扩散中,多个粒子通常可以同时占据一个格网空间点,而元胞自动机模型中,每个格网点只能有一个元胞。因此,在某种意义上讲,凝聚扩散模型与下面提到的多主体模型更相似,可以看作是粒子间不存在目的性、竞争、协作等智能特征的"无头脑"的主体模型。 # a. j1 H1 v; f7.元胞自动机与多主体系统 8 ~; Y2 C6 i. o8 U7 }$ l; {. q& y 多主体系统(Multi-Agent System,简称MAS)是分布式人工智能的热点课题 (史忠植.1998),主要研究为了共同的、或各自的不同目标,自主的智能主体之间智能行为的协作、竞争等相互作用。基于主体的模型(Agent Based Model,简记为ABM),简称主体模型,又称基于实体的模型(Entity Based Model,简记为EBM),或基于个体的模型(lndividual Based Model,简记为IBM),是多主体系统的一个子集,其主要特征是每个主体代表了现实世界中一个智能性、自治的实体或个体,如人群中的个人,生态系统中的植物个体、动物个体,交通流中的汽车,计算网络中的计算机,经济系统中的经营者等。而在多主体系 9 J) @4 d' V# i2 \$ u统中,组成系统的个体可以是任何系统部件,如组成专家系统的是一条条意见。 - U. f/ V4 D! m! w' Q* Q; k$ s: k. h1 p
一些基于主体的模型中的主体是具有空间概念的,交通流中的汽车,生态系统中的动植物个体等;但有些并不具有空间概念,如计算网络中的计算机。对于那些有空间概念的主体,其空间表示即可以是连续的,如一组实数坐标对;也可以是离散的,即格网空间中的行列值。而元胞自动机与这种具有离散空间概念的主体模型非常相近,二者均研究在离散空间上个体间的相互作用而形成整体上的复杂行为。但仍然存在很大的区别;) }& a8 e( t4 h9 X
(l)主体模型中的主体可能是可以移动的,如动物个体;但也有可能是不可以移动的;而元胞自动机模型中的元胞个体通常是不可以移动的,元胞自动机在整体上的运动是通过元胞个体的状态变化来实现的。8 P9 u* T; h7 |! d, i
(2)在基于格网空间的主体模型中,格网只是作为主体的空间定位,多个主体可以占据一个格网点;而在元胞自动机模型中,每个格网点只能拥有一个特定状态的元胞。 % \3 w% o( t' z& ~2 Q: `$ K (3)在本质上讲,可以说,主体模型是面向(通常是稀疏,分布在网格空间上的个体的,而元胞自动机则是面向整个网格空间的。在模型运行时,主体模型将只考虑个体的行为,而元胞自动机将考虑整个元胞空间上的每个格网 (元胞)的状态。5 K' X% {/ \, I* b 8.元胞自动机与系统动态学模型 + I8 ~7 y, ]# U2 Y6 \, t6 d0 @ 系统动力学 (SystemDynamics,简称SD)是一间分析研究反馈系统的学科,也是一门认识系统问题和解决系统问题交叉的综合性学科。它最初由美国麻省理工学院的Jay W·Forrestr教授于1956年开发提出,其特点是引入了系统分析的概念,强调信息反馈控制,是系统论、信息论、控制论和决策论的综合产物,非常适于研究复杂系统的结构、功能与动态行为之间的关系。通过分析系统结构,选取适当因素,建立它们之间的反馈关系,并在此基础上建立一系列微分方程,构建系统动态学方程,进一步考察系统在不同参数和不同7 I4 f: j4 `0 h
策略因素输入时的系统动态变化行为和趋势,为决策者提供决策支持。由于它能够对实际系统进行动态仿真,因而系统动力学模型可作为实际系统,特别是社会、经济、生态复杂大系统的"实验室"(Forrester。J·W·,1969;裴相斌,1999;李一智等,1987)。 ( B$ N- s" T4 S# M% B1 ^ 系统动态学模型在地球科学研究中具有比较广泛的实用性。因为它着眼于系统的整体最佳目标,不是单纯追求个别子系统的最佳目标,有助于实现人口、资源、环境与社会、经济各子系统之间的协调,采用无量纲的综合研究。同时,该模型仍采用的一阶微分方程组,带有延迟函数和表函数,又能引入投入一产出反馈回路的概念,能比较直观、形象地处理某些比较复杂的非线性问题 (陈述彭,1991)。但是,系统动态学也有"先天不足",而限制了它在地球科学中的应用。6 B% g+ Y: ^( O! R$ {
(1)首先,SD对系统的描述带有主观性。建模者对系统结构的认识,主要包括因素的选取及其相关关系的描述,就直接反映在模型中。而复杂系统的不确定性、非线性等复杂性特征决定了它的系统结构具有混沌性,不同人对它的描述可能有很大的差别,因而,系统动态学在地学建模中,难免会受到个人主观性的干扰,而影响模型的模拟结果。0 v r" c, E7 [# U' o, F1 }* y: G% [. x
(2)其次,SD缺乏全面的协调指标体系。复杂系统中有许多因素是定性的,需要一个量化的过程。那么,多个相关因子的分类、分级定量标准就需要从系统的高度进行协调,这往往是系统动态学模型的一个难题。6 z, ^$ F' ^8 @' R( q" G5 U- B+ M
(3)最后,缺乏空间因素的处理功能,难以刻画空间系统中各要素在空间上的相互作用和相互反馈关系(张新生,1997;裴相斌,1999)。这对其应用于空间复杂系统研究是个致命的限制。, k5 S* y7 o i: P& }: g9 {7 D# X2 l
系统动态学模型与元胞自动机都是采用 "自下而上"的研究思路,利用系统要素间的反馈等相互作用,来模拟和预测系统的整体的动态行为,它们都是研究复杂系统动态变化约有力工具。但是,二者又有所不同:首先,在模型机制上,CA模型基于系统要素间的空间相互作用,而SD则更多的考虑要素间指标属性的关联关系;其次,在模型表现形式上,CA是时间、空间、状态全离散的,转换规则也往往表现为参照表形式,而SD则表现为系列的微分方程组,时间、属性及要素间反馈关系的表达都是连续性质的i第三,在结果表 , a$ Z2 J) a1 D1 u( \现上,CA模型表现为系统空间结构的时空动态演化,而SD模型的结果是系统某个社会经济指标的动态变化;最后,在应用上,CA模型多用于复杂系统的时空演化模拟,而SD模型缺乏空间概念,更适于社会经济系统的模拟预测。 + `8 y! L& u5 f, P" _: z
元胞自动机可用来研究很多一般现象。其中包括通信、信息传递(Communicahon)、计算(Compulation)、构造 (ConsTruction)、生长 (Growth)、复制 (Reproductionj、竞争(Competition)与进化(Evolutio,])等(Smith A.,1969errier,J.Y.,1996)。同时。它为动力学系统理论中有关秩序 (Ordering)、紊动 (Turbulence)、混沌 (Chaos)、非对称(Symmetry-Breaking)、分形(Fractality)等系统整体行为与复杂现象的研究提供了一个有效的模型工具 (Vichhac。G,1984; Bennett,C,1985)。- z# g- `/ U% W. C$ _' g
元胞自动机自产生以来,被广泛地应用到社会、经济、军事和科学研究的各个领域。应用领域涉及社会学、生物学、生态学、信息科学、计算机科学、数学、物理学、化学、地理、歹境、军事学等。 ( k3 W" p* i$ Q 在社会学中,元胞自动机用于研究经济危机的形成与爆发过程、个人行为的社会性,流行现象,如服装流行色的形成等。在生物学中,元胞自动机的设计思想本身就来源于生物学自繁殖的思想,因而它在生物学上的应用更为自然而广泛。例如元胞自动机朋于肿瘤细胞的增长机理和过程模拟、人类大脑的机理探索(Victor.Jonathan.D.,1990)、爱滋病病毒HIV的感染过程(Sieburg,H.B.. 1990)、自组织、自繁殖等生命现象的研究以及最新流行的克隆 (Clone)技术的研究等 (ErmentroutG。B。,1993)。 ' T$ Q& F: \* H: Z4 ~$ _0 ]; c 在生态学中。元胞自动机用于兔子-草,鲨鱼-小鱼等生态动态变化过程的模拟,展示出令人满意的动态效果;元胞自动机还成功地应用于蚂蚁、大雁、鱼类洄游等动物的群体行为的模拟;另外,基于元胞自动机模型的生物群落的扩散模拟也是当前的一个应用热点。在信息学中。元胞自动机冉于研究信息的保存、传递、扩散的过程。另外。Deutsch(1972)、Sternberg(1980)和Rosenfeld(1979)等人还将二维元胞自动机应用到图像处理和模式识别中 (WoIfram.S.,1983)。 * z! N9 U& S; C8 O 在计算机科学中。元胞自动机可以被看作是并行计算机而用于并行计算的研究(Wolfram.S.1983)。另外。元胞自动机还应用于计算机图形学的研究中。 2 R" |- ?/ l" P2 k8 [* R4 p6 \5 K" G 在数学中,元胞自动机可用来研究数论和并行计算。例如Fischer(1965)设计的素数过滤器(Prime Number Sieves)(Wolfram,S.1983)。# X, z9 {% {8 T+ `
在物理学中。除了格子气元胞自动机在流体力学上的成功应用。元胞自动机还应用于磁场、电场等场的模拟,以及热扩散、热传导和机械波的模拟。另外。元胞自动机还用来模拟雪花等枝晶的形成。 " v) n; q. F, d6 t2 x' o- [, ]5 Q7 J4 y 在化学中,元胞自动机可用来通过模拟原子、分子等各种微观粒子在化学反应中的相互作用,而研究化学反应的过程。例如李才伟 (1997)应用元胞自动机模型成功模拟了由耗散结构创始人I·Prgogine所领导的Brussel学派提出的自催化模型---Brusselator模型,又称为三分子模型。Y·BarYam等人利用元胞自动机模型构造了高分子的聚合过程模拟模型,在环境科学上,有人应用元胞自动机来模拟海上石油泄露后的油污扩散、工厂周围废水、废气的扩散等过程的模拟。, x% A9 ]0 r1 J, O# g1 B
在军事科学中,元胞自动机模型可用来进行战场的军事作战模拟"提供对战争过程的aq理解(谭跃进等,1996)。 : C2 B- N5 f9 J5 u9 ? 元胞自动机作为一种动态模型,更多的是作为一种通用性建模的方法,其应用几乎涉及社会和自然科学的各个领域。" O8 p( Q D2 z; f+ C8 M6 q
元胞自动机(Cellular Automata,简称CA)是一种时空离散的局部动力学模型,是复杂系统研究的一个典型方法,特别适合用于空间复杂系统的时空动态模拟研究。不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。因此,元胞自动机是一类模型的总称,或者说是一个方法框架。在这一模型中,散布在规则格网 (Lattice Grid)中的每一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新。大量元胞通过简单的相互作用而构成动态系统的演化。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。 7 L, I U! V% F. x
7、维数高:在动力系统中一般将变量的个数成为维数。例如,将区间映射生成的动力系统称为一维动力系统;将平面映射生成的动力系统称为二维动力系统;对于偏微分方程描述的动力系统则称为无穷维动力系统。从这个角度来看,由于任何完备元胞自动机的元胞空间是定义在一维、二维或多维空间上的无限集,每个元胞的状态便是这个动力学系统的变量。因此,元胞自动机是一类无穷维动力系统。在具体应用中或计算机模拟时当然不可能处理无限个变量,但一般也总是处理数量很大的元胞组成的系统。因此可以说维数高是元胞自动机研究中的一个特点。 7 ]3 Y, ^% W0 |6 @5 l* f