元胞自动机理论基础Chapter1元胞自动机(CellularAutomata,简称CA,也有人译为细胞自动机、点格自动机、分子自动机或单元自动机)。是一时间和空间都离散的动力系统。散布在规则格网(LatticeGrid)中的每一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新。大量元胞通过简单的相互作用而构成动态系统的演化。不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。因此,元胞自动机是一类模型的总称,或者说是一个方法框架。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。1.自动机自动机(Automaton)通常指不需要人们逐步进行操作指导的设备(夏培肃,1984)。例如,全自动洗衣机可按照预先安排好的操作步骤作自动地运行;现代计算机能自动地响应人工编制的各种编码指令。完成各种复杂的分析与计算;机器人则将自动控制系统和人工智能结合,实现类人的一系列活动。另一方面,自动机也可被看作为一种离散数字动态系统的数学模型。例如,英国数学家A.M.Turing于1936年提出的图灵机就是一个描述计算过程的数学模型(TuringAM.,1936)。它是由一个有限控制器、一条无限长存储带和一个读写头构成的抽象的机器,并可执行如下操作:读写头在存储带上向左移动一格;读写头在存储带上向右移动一格;在存储的某一格内写下或清除一符号;条件转移。图灵机在理论上能模拟现代数字计算机的一切运算,可视为现代数字计算机的数学模型。实际上,一切可计算函数都等价于图灵机可计算函数,而图灵机可计算函数类又等价于一般递归函数类。根据存储带是否有限,可将自动机划分为有限带自动机(FiniteAutomaton)和无限带自动机(InfiniteAutomaton)。由于图灵机有无限长的存储带,所以为一种无限带自动机。有限带自动机常用作数字电路的数学模型,也用来描述神经系统和算法;而无限带自动机主要用来描述算法,也用来描述繁殖过程(如细胞型自动机和网络型自动机)。有限自动机是一种控制状态有限、符号集有限的自动机,是一种离散输入输出系统的数学模型。可将有限自动机设想成由一条划分为许多方格的输入带和一个控制器组成的机器:在输入带的每一个小格中可以容纳一个符号,这些符号取自一个有限符号集S-控制器具有有限个可能状态(构成集合Q)。并在每一时刻仅处于其中的一个状态q;控制器有一个读入头,可以从输入带中读入符号;时间是离散的,初始时控制器处在状态;控制器的功能是根据其当前状态g和读入头从输入带上得到的符号a,来确定控制器的下一时刻的状态实现从状态q到状态q',实现从状态q到状态铲q'的转移,并将读入头右移一格。控制器另一功能是识别终止状态(它们构成Q的一个子集F),也可将该识别功能视为有限自动机的输出。从数学上来定义,有限自动机是一个五元组:FA=(Q,S,δ,q0,F)其中,Q是控制器的有限状态集、S是输入符号约有限集、δ是控制状态转移规律的Q×S到Q的映射(可用状态转移图或状态转移表表示),q0是初始状态、F是终止状态集。若δ是单值映射,则称M为确定性有限自动机;若δ是多值映射,则称M为非确定性有限自动机。Chapter2在元胞自动机是由空间上各项同性的一系列元胞所组成,是在有限元胞自动机基础上发展起来的,用于模拟和分析几何空间内的各种现象。2.2.1典型的元胞自动机在元胞自动机的发展过程中,科学家们构造了各种各样的元胞自动机模型。其中,以下几个典型模型对元胞自动机的理论方法的研究起到了极大的推动作用,因此,它们又被认为是元胞自动机发展历程中的几个里程碑。l.S.Wolfram和初等元胞自动机初等元胞自动机(ElementaryCellularAutomata,简称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:S3→S可记为:其中变量有三个,每个变量取两个状态值,那么就有2×2×2=8种组合,只要给出在这八个自变量组合上的值,f就完全确定了。例如以下映射便是其中的一个规则:通常这种规则也可表示为以下图形方式(黑色方块代表l,白色方块代表0):这样,对于任何一个一维的0,1序列,应用以上规则,可以产生下一时刻的相应的序列。以下序列就是应用以上规则产生的:t:010111110101011100010t+1:1010001010101010001以上八种组合分别对应0或1,因而这样的组合共有28=256种,即初等元胞自动机只可能有256种不同规则。S.Wolfram定义由上述八种构形产生的八个结果组成一个二进制(注意高低位顺序),如上可得01001100,然后计算它的十进制值R:R在[0,255]内,S.Wolfram定义R为初等元胞自动机的标号,则上面的元胞自动机模型就是76号初等元胞自动机(谢惠民,1994;李才伟,1997)。S.Wolfram对这256种模型一一进行了详细而深入的研究。研究表明,尽管初等元胞自动机是如此简单,但它们表现出各种各样的高度复杂的空间形态。经过一定时间,有些元胞自动机生成一种稳定状态,或静止,或产生周期性结构,那么,有些产生自组织、自相似的分形结构。S.Wolham(1983)借用分形理论计算了它们的维数约为1.59或1.69(Wolfram,S.,1983)。但256种元胞自动机中没有一种属于S.Wolfram元胞自动机动力学分类得第四种,所谓复杂型。S.Wolfram对一维元胞自动机,尤其是初等元胞自动机的深入研究奠定了元胞自动机理论的基石。对元胞自动机的理论研究,以及后来的人工生命研究和近来兴起的复杂性科学(ScienceofComplexity)研究作出了卓越的贡献。2.J.Conway和生命游戏生命游戏(CameofLife)是J.H.Conway在20世纪60年代末设计的一种单人玩的计算机游戏(Garclner,M.,1970、1971)。他与现代的围棋游戏在某些特征上略有相似:围棋中有黑白两种棋子。生命游戏中的元胞有{生,死}两个状态{0,1};围棋的棋盘是规则划分的网格,黑白两子在空间的分布决定双方的死活,而生命游戏也是规则划分的网格(元胞似国际象棋分布在网格内。而不象围棋的棋子分布在格网交叉点上)。根据元胞的局部空间构形来决定生死。只不过规则更为简单。下面介绍生命游戏的构成及规则:(1)元胞分布在规则划分的网格上;(2)元胞具有0,1两种状态,0代表死,l代表生;(3)元胞以相邻的8个元胞为邻居。即Moore邻居形式;(4)一个元胞的生死由其在该时刻本身的生死状态和周围八个邻居的状态(确切讲是状态的和)决定:在当前时刻,如果一个元胞状态为生,且八个相邻元胞中有两个或三个的状态为生,则在下--时刻该元胞继续保持为生,否则死去;在当前时刻。如果一个元胞状态为死。且八个相邻元胞中正好有三个为生。则该元胞在下一时刻复活。否则保持为死。尽管它的规则看上去很简单。但生命游戏是具有产生动态图案和动态结构能力的元胞自动机模型。它能产生丰富的、有趣的图案。生命游戏的优化与初始元胞状态值的分布有关,给定任意的初始状态分布。经过若干步的运算,有的图案会很快消失。而有的图案则固定不动,有的周而复始重复两个或几个图案,有的婉蜒而行。有的则保持图案定向移动,形似阅兵阵……,其中最为著名的是滑翔机(叫Glider)的图案。生命游戏模型已在多方面得到应用。他的演化规则近似地描述了生物群体的生存繁殖规律:在生命密度过小(相邻元胞数之2)时,由于孤单、缺乏配种繁殖机会、缺乏互助也会出现生命危机,元胞状态值由1变为0;在生命密度过大(相邻元胞数3)时,由于环境恶化、资源短缺以及相互竞争而出现生存危机,元胞状态值由1变为0;只有处于个体适中(相邻元胞数为2或3)位置的生物才能生存(保持元胞的状态值为1)和繁衍后代(元胞状态值由0变为1)。正由于它能够模拟生命活动中的生存、灭绝、竞争等等复杂现象,因而得名生命游戏。J·H·Conway还证明,这个元胞自动机具有通用图灵机的计算能力(谢惠民,1994;李才伟,1997),与图灵机等价,也就是说给定适当的初始条件,生命游戏模型能够模拟任何一种计算机。从数学模型的角度看,该模型将平面划分成方格棋盘,每个方格代表一个元胞。元胞状态:0死亡,1-活着领域半径:1领域类型:Moore型其中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的学生LeeMeeker在此基础上进一步构建了四维的生命游戏。另外,Gardner(Gardner,M·,1970、1971、1983)等人也曾在这方面作了很多迸一步的研究工作。对游戏规则的扩展主要是引入了4个参数EbEkFbFk,Eb表示对于一个活元胞,在下一个时刻,继续保持其状态所需要的最少的活邻居的数目,而Fb则表示对于一个死元胞,在下一时刻,复活所需要的最小的活邻居的数目,Ek和Fk则分别表示上述情况的上限值。演化规则修改为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-GuangWu(1994),李元香(1991)等人的进一步工作。在90年代中后期,一种被称为格点波尔兹曼方程(LatticeBolzmann)的改进模型逐步取代了原有的格气模型。应当说,格子气自动机是一种特殊的元胞自动机模型,或者说是一个扩展的元胞自动机模型(ExtendedCellularAutomata)。以早期的格子气模型为例,描述其特征如下:(1)由于流体粒子不会轻易从模型空间中消失,这个特征需要格子气自动机是一个可逆元胞自动机模型。(2)格子气自动机的邻居模型通常采用Margulos类型,即它的规则是基于一个2X2的