首页 毕业设计-基于细胞自动机的生命活力模拟的实现—论文

毕业设计-基于细胞自动机的生命活力模拟的实现—论文

举报
开通vip

毕业设计-基于细胞自动机的生命活力模拟的实现—论文毕业设计-基于细胞自动机的生命活力模拟的实现—论文 毕业设计(论文) 基于细胞自动机的生命活力模拟的实现 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 基于细胞自动机的生命活力模拟的实现 摘 要 在人类社会发展的早期,就有大批各领域的学者在积极地探索、思考生命的本质是什么,到了信息技术高速发展的阶段,不少人都希望用计算机来缔造人工生命。冯诺伊曼所提出细胞自动机便是这么一个模型。虽然这个模型很简单,但是,它展现出来的复杂的奇妙的现象却吸引了大量的研究人员。...

毕业设计-基于细胞自动机的生命活力模拟的实现—论文
毕业设计-基于细胞自动机的生命活力模拟的实现— 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 毕业设计(论文) 基于细胞自动机的生命活力模拟的实现 论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名,职称,: 论文提交日期: 基于细胞自动机的生命活力模拟的实现 摘 要 在人类社会发展的早期,就有大批各领域的学者在积极地探索、思考生命的本质是什么,到了信息技术高速发展的阶段,不少人都希望用计算机来缔造人工生命。冯诺伊曼所提出细胞自动机便是这么一个模型。虽然这个模型很简单,但是,它展现出来的复杂的奇妙的现象却吸引了大量的研究人员。如今,它作为一个数学模型,在各行各业的应用领域发挥着巨大的作用。我们将对细胞自动机的构成、实现机制以及它产生的现象作一番简单的探讨。 第一章将详细介绍细胞自动机的概念、基本元素以及各类自动机的共同特征;第二章详细介绍一维细胞自动机和生命游戏的程序算法设计,分析算法的性能并给出了改进的方法;第三章结合自己对细胞自动机的一些理论知识,使用自己制作的细胞自动机进行实验操作,仔细分析细胞自动机产生的现象,以验证前人所提出的理论和观点,总结自己对这些现象和理论看法;第四章简单探讨了细胞自动机的长远意义和实际的应用。 关键词:细胞自动机;生命游戏;动力学模型 Based on Cellular Automaton Life Vigor Simulation Realization Abstract Early time develops which in the human society, has the large quantities of various domains the scholar positively is exploring, what is the ponder life essence? Told the development to the information technology the stage, many people all hoped creates the artificial life with the computer. Von Neumann proposed the cellular automaton then is such a model. Although this model is very simple, but, it unfolds the complex marvelous phenomenon has actually attracted the massive researcher. Now, it took a number study model, plays this huge role in the entire various trades and occupations application domain we to the cellular automaton constitution, the phenomenon which the realization as well as it will produce make a simple discussion. First chapter in detail will introduce the cellular automaton the concept, fundamental element as well as each kind of automaton common characteristic; The second chapter detailed introduction unit dimensional cellular automaton and the life game procedure algorithm design, the parsing algorithm performance and has produced the improvement method; Third chapter unifies oneself to the cellular automaton some theory knowledge, uses the cellular automaton which oneself manufactures to carry on the experiment to operate, carefully analyzes the phenomenon which the cellular automaton produces, confirms the theory and the viewpoint which the predecessor proposed, summarizes oneself to these phenomena and the theory view; Fourth chapter simply has discussed the cellular automaton long term and the actual application. Key words: Cellular automaton; Life of game; Dynamics model 目 录 论文总页数:31页 引言 ------------------------------------------------------------------------- 3 1 认识细胞自动机 ------------------------------------------------------------- 3 1.1 细胞自动机概念的提出 --------------------------------------------------- 3 1.2 细胞自动机的基本元素 --------------------------------------------------- 3 1.3 细胞自动机的特征 ------------------------------------------------------- 7 生命游戏 --------------------------------------------------------------- 9 1.4 2 细胞自动机的程序算法实现 -------------------------------------------------- 10 2.1 通用模块的设计 ------------------------------------------------------- 10 2.2 生命游戏的实现 -------------------------------------------------------- 13 2.3 一维通用细胞自动机(CA)的实现 ---------------------------------------- 16 2.4 分子热运动模拟 -------------------------------------------------------- 17 3 细胞自动机的实验 ---------------------------------------------------------- 19 3.1 一维细胞自动机分类 ---------------------------------------------------- 19 3.2 复杂系统相变的调节参数 ------------------------------------------------ 25 4 细胞自动机的现实应用和长远意义 -------------------------------------------- 28 4.1 现实应用 -------------------------------------------------------------- 28 4.3 长远意义 -------------------------------------------------------------- 29 结论 ------------------------------------------------------------------------ 31 参考文献 -------------------------------------------------------------------- 31 致谢 ------------------------------------------------------------------------ 32 声明 ------------------------------------------------------------------------ 33 引言 20世纪40年代晚期,天才科学家冯诺伊曼先生为了研究机器的自我复制过程而提出了一个著名的动力学模型:细胞自动机。数学家康维等人紧跟其后,继续发扬他的理论,实现了一个当时深受人们欢迎的模型:生命游戏。物理学家沃夫拉姆也针对冯诺伊曼提出的一维细胞自动机模型进行分析,把这个模型产生的四种现象分为四种类型。而被尊称为“人工生命之父”的兰顿对这四种类型进行了分析,认为这和物理学中的相变是同一种现象。目前,国内对一维细胞自动机也越来越关注。北京师范大学哲学与社会学学院李建会教授对细胞自动机进行了深入的研究,提出了“计算主义”的理论。这便是细胞自动机的来源背景和前人先辈做的工作。作为一个动力学模型,细胞自动机已经在各行各业得到了广泛的运用。 本文的目标就是依据前人提出的规则,设计出一维细胞自动机、生命游戏等程序,并详细阐述算法的复杂性以及不足,并针对这些问题提出改进的方法。然后使用这些程序对前人提出的一些基础性理论进行实验验证。比如沃夫拉姆提出的四种类型、兰顿提出的能调整系统状态的参数,以便加深自己对这方面理论的认识。在文章的最后,谈到了细胞自动机在个领域的应用以及所有的细胞自动机所共有的特征,并简单谈了它的长远意义。 程序的开发平台是.Net 2005,所使用的操作系统是Windows.XP。 1 认识细胞自动机 1.1 细胞自动机概念的提出 上世纪50 年代,在图灵提出人的大脑是一台离散态的计算机的思想几乎同一时期,计算机科学的另一个开创者冯?诺伊曼即开始从计算的视角思考生命的本质问题,他认为自我复制乃是有生命的物体的独一无二的特征,也是被称之为生命的必要条件。为了构造一个能够自我复制的机器,冯?诺伊曼提出了细胞自动机的概念。 冯?诺依曼在逝世前证明了起码有一种确实能够自我繁衍的细胞自动机模型的存在。这个模型极其复杂,要求大量的细胞格,而且每一个细胞有二十九种不同的状态,这是任何现有计算机的模仿功能都无法胜任的。但这种模型确实存在的事实回答了根本的原则问题。 从此,由细胞自动机来构造具有生命特征的机器成为科学界的一个新的方向,而对细胞自动机理论本身的研究开始逐步展开。 1.2 细胞自动机的基本元素 1.细胞 细胞又可称为单元、基元或元胞,是细胞自动机的最基本的组成部分。细胞 分布在离散的一维、二维或多维欧几里德空间的网格上。 2.细胞状态 在实际应用中,细胞状态一般是{ s,s,„„s„„s }整数形式的离散集。01in 对于其它类型的取值,比如“红”“白”等颜色取值,可以映射到整数集上。 3.细胞空间 细胞所分布在的空间网格集合就是细胞空间。对于细胞空间,有几个特征需要注意。 (l)几何划分 理论上,细胞空间可以是任意维数的欧几里德空间,但目前研究多集中在一维和二维细胞自动机上。 对一维细胞自动机的系统研究最早,相对来讲,其状态、规则等较为简单,往往其所有可能的规则可以一一列出,易于处理,研究也最为深入。目前,对于细胞自动机的理论研究多集中在一维细胞自动机上。美国学者沃夫拉姆对细胞自动机的动力学分类也是基于对一维初等细胞自动机 (Elementary Cellular Automata,简称ECA)的分析研究得出的。它的最大的一个特征在于容易实现细胞自动机动态演化的可视化:在二维显示中,一维显示其空间构型,即空间维;另外一维显示其发展演化过程,即时间维。 二维细胞自动机是指细胞分布在二维欧几里德平面上规则划分的网格点上,通常为方格划分。以英国学者康维(John Horton Conway)的“生命游戏”(Game of Life)为代表,应用最为广泛。由于世界上很多现象是二维分布的,还有一些现象可以通过抽象或映射等方法转换到二维空间上。所以,二维细胞自动机的应用最为广泛。 (2)边界类型 在理论上,细胞空间通常是在各维度上是无限延展的,这有利于在理论上的推理和研究。但是在实际应用过程中,我们无法在计算机上实现这一理想条件,因此,我们需要定义细胞空间的边界。例如,可以定义如下几种边界:周期型、反射型、定值型、随机型。 周期型边界(Periodic Boundary)是指相对的边界连接起来的细胞空间。对于一维空间,细胞空间表现为一个首尾相接的“圈”。对于二维空间,上下相接、左右相连而形成一个拓扑圆环面 (Torus)。周期型空间与无限空间最为接近,因而在理论探讨时,常用此类边界来设计模型。 反射型边界(Reflective Boundary)指在边界外邻居的细胞状态是以边界为轴的镜面反射。对一维细胞自动机来说,如果最左边的那个细胞的状态是1 ,那么,他的左边邻居的状态我们看成和它是一致的,也是2。例如在一维空间中, 当r=1时的边界情形: 图1 反射型边界示意图 定值型边界 (Constant Boundary)指所有边界外细胞均取某一固定常量,如0、1等。 有时,在应用中,为更加客观、自然地模拟实际现象,还有可能采用随机型边界(Random Boundary),即在边界实时产生随机值。 需要指出的是,这几种边界类型在实际应用中,尤其是二维或更高维数的建 可以相互结合。如在二维空间中,上下边界采用反射型,左右边界可采用模时, 周期型。 (3)构型(Configuration) 在这个细胞、状态、细胞空间的概念基础上,我们引入另外一个非常重要的概念“构型”。构型是指在某个时刻,在细胞空间上所有细胞状态的空间分布组合。通常,在数学上,它可以表示为一个多维的整数矩阵。构型也被称为全局状态(global state)。 4.邻居 以上的细胞及细胞空间只表示了系统的静态成分,为将动态引入系统,必须加入演化规则。在细胞自动机中,这些规则是定义在空间局部范围内的,即一个细胞下一时刻的状态决定于本身状态和它的邻居细胞的状态。因而,在指定规则之前,必须明确哪些细胞是该细胞的邻居。 在一维细胞自动机中,通常以半径来确定邻居,与一个细胞相距在一个半径的距离之内的所有细胞均被认为是该细胞的邻居。 二维细胞自动机的邻居定义通常有以下几种形式,我们以最常用的规则四方网格划分为例。见下图,黑色细胞为中心细胞,灰色细胞为其邻居,它们的状态一起来计算中心细胞在下一时刻的状态。 图2 细胞自动机的邻居模型 (1)冯?诺依曼型 一个细胞的上、下、左、右相邻四个细胞为该细胞的邻居。这里,邻居半径r为1。 (2)摩尔型 一个细胞的上、下、左、右、左上、右上、右下、左下相邻八个细胞为该细胞的邻居。 (3)扩展的摩尔型 将以上的邻居半径r扩展为2或者更大,即得到所谓扩展的摩尔型邻居。 (4)马哥勒斯型 这是一种同以上邻居类型迥然不同的形式,它是每次将一个2x2的细胞块做统一处理,而上述前三种邻居模型中,每个细胞是分别处理的。这种邻居类型因为格子气自动机而得到关注。 有了邻居的定义,我们可以得到引入邻域的概念。邻域就是一个细胞及其所有邻居的集合。 有必要说明的是,邻居并不一定要去“最邻近”的,但是这些“最邻近”的邻居较为符合现实,而且已经足可以代表了所有的细胞自动机。 5.规则 根据细胞当前状态及其邻居状况确定下一时刻该细胞状态的动力学函数就是规则。 k这里我们遇到一个典型的组合爆炸问题。假设细胞自动机中每个细胞存在 nk种状态,其邻域拥有的细胞个数是n,那么邻域存在种状态。细胞的规则,或 nnkkk称细胞自动机的转换函数,要将种状态映射为种状态的一种,则共有k种 [5]转换函数存在。 非常重要的一点就是,沃夫拉姆(Wolfram)证明了,总和规则描述的细胞自动机可以展现所有细胞自动机可能表现的动态行为。 6.时间 细胞自动机是一个动态系统,它在时间维上的变化是离散的,即时间t是一个整数值,而且连续等间距。假设时间间距dt=1,若t=i为某一时刻,那么,t=i+1为其下一时刻。 1.3 细胞自动机的特征 细胞自动机内所有的细胞都受相同规则的约束。它们大小相等、形状相同,地位平等,按一定的规则分布在离散的细胞空间上。系统的演化是按照等间隔时间分步进行的,时间变量t只能取等步长的时刻点。同时,由每个细胞演化到下一代都只受邻近的细胞影响,具有空间局部性。除此之外,细胞自动机还有如下重要特征: 1) 随机性和确定性 确定性和随机性是客观事物的两个方面。科学家们早就发现,确定性和不确定性之间并没有不可逾越的鸿沟,二者是辨证统一的关系。细胞自动机的行为提供了一个绝好的佐证。 我们观察大自然的时候,觉得有很多随机现象,这些现象我们认为都是不可预测的。但这并不等于这些现象没有内在的确定性规则约束。比如,著名的“蝴蝶效应” 。据说,在北京的一只蝴蝶扇了一下翅膀,有可能引起太平洋的一次龙卷风。就是说,初始状态轻微的,不明显变化能引起整个系统翻天覆地的改变。这些不明显的变化经过系统的演变时被无限放大了。正如我前面所分析的,如果一维细胞自动机的细胞个数只有5的话,那么不管什么规则,最多演化2的5次方也就是32次以后,它必然呈现出重复的现象来。由于现实世界是个近乎无限的离散动力系统,这使得宏观现象看起来非常的随机化。所以,计算主义认为,它仅仅只有几条简单的规则约束着,这是可确定的一部分。 2) 过程与状态 在近代科学中,早已破除了那种以状态为主看待事物的思维方法,而逐步树立了以过程为视角的思维方法。这种视角认为,我们应该首先考虑系统的演化行为,而不是此时的状态。在许多情况下,终极状态是什么并不知道,甚至是否存在这样的终极状态也并不是明确的。哲学家黑格尔曾说过,了解一门科学的历史,也就了解了这门科学本身。朗顿也曾经说过这样一句话:“你应该观察系统是如何运作的,而不是观察它是由什么组成的”。 同样的道理,在对细胞自动机进行分析的时候,必须看它的动态过程。单单看一过静态的状态是没有任何意义的。 3) 集中控制与自组织 就像自然界是大量的原子和分子组成并在某种规则约束之下运动一样。研究 单个原子的运动很难得出有意义的结论。但是,在大量的原子和分子在相互作用之后,复杂的现象就会突现出来。这说明,大自然没有“中央电脑”的控制。集中控制并不是操纵系统实现某一目的的唯一手段。 4) 简单与复杂 细胞自动机让我们很惊讶的发现,一些简单的东西却可以产生如此复杂的现象。细胞状态是如此简单,规则是如此简单,然而它竟然可以“模拟整个宇宙”,从生物进化,到股市涨落,到雪花形成,到铁钉生锈,等等一切。这更加深了我们“表面上看起来复杂的事物其本质可能很简单”这一信念,从而激发我们为从复杂性中发现简单性而锲而不舍。 5) 连续与离散 微分方程有着三百多年的发展历史,它已经成为现代科学的语言,也是科学研究中最为重要的研究工具之一,一大批重要的科学规律就是利用微分方程来推理和表达的。 微分方程的主要特点是时间、空间均连续(如果方程中有空间因子的话),这是建立在时空连续的哲学认识基础上的。而细胞自动机则是完全的空间离散、时间离散,在这个意义上,微分方程和细胞自动机一对相对的计算方法。 在人工计算的情况下,由符号组成的(偏)微分方程可以灵活地进行约简等符号运算,而得到精确的定量解,这是其优势。但在现代计算机日益发展,已成为我们科学研究的重要工具时,微分方程却遇到了一个尴尬的问题,即计算机是建立在离散的基础上的,微分方程在计算时不得不对自身进行时空离散化,建立差分方程等;或者展开成幂系列方程,截取部分展开式;或者采用某种转换用离散结构来表示连续变量。这个改造过程不仅是繁杂的,甚至是不可能解决的,但最重要的是在这个过程中,微分方程也失去了它的自身最重要的特性―精确性、连续性。甚至,我们可能因变数太多而根本无法得到合适的方程式,要么方程式本身极其复杂难以求解。 而对于细胞自动机来讲,脱离计算机环境来进行运算几乎是不可能的,但是借助计算机进行计算,却非常自然而合理,甚至它还是下一代并行计算机的原型。因此,在现代计算机的计算环境下,以细胞自动机为代表的离散计算方式在求解方面,尤其是动态系统模拟方面有着更大的优势。 因为细胞自动机的计算能力等价于图灵机,所以细胞自动机在理论上具备计算的完备性。但是,其满足特定目的的构模尚无完备的理论支持,其构造往往是一个直觉过程。用细胞自动机得到一个定量的结果非常困难,即便是可能的话,细胞自动机也将陷入一个尴尬,细胞自动机的状态、规则等构成必然会复杂化,从而不可避免地失去其简单、生动的特性。 然而,诚如物理学家玻尔所说,“相对的并不一定是矛盾的,有可能是相互补充和相互完善的”。二者互有优缺点,相互补充,都有其存在的理由。在现代计算机环境下,对于细胞自动机这一类相对来讲还处于幼年阶段的离散计算方式,需要予以更多的关注和支持。 6) 并行与串行 前面说过,若从计算视角理解细胞自动机,则细胞自动机可能是下一代并行计算机的雏形。细胞自动机的出现,让人们更好的展望并行计算的前景。 生命游戏是一维细胞自动机的一个特例。它之所以能展现出这么复杂美妙的图形,是因为它的规则使他恰恰处于一个“混沌边缘”(一个介于周期状态和复杂随机状态的边界,下面还要详细论述这个现象)的状态。所以,下面,我们来介绍一下生命游戏。 1.4 生命游戏 生命游戏是由剑桥大学的数学家康维于 1970 年发表于《科学美国人》上的论文所提出的。理论上,它是一个二维细胞自动机。在这个细胞自动机中,细胞空间是一个分割成很多四方格子(类似棋盘)的平面,初始状态时,某些方格上存活着单个细胞。播种可以是随机的,也可以指定确定的模式,以便考察一些特殊的行为。每一个细胞有八个邻居,即采用摩尔邻居形式。这些细胞有两种状态:“生”或“死”,存活的细胞我们在方格内涂上特定单一的颜色,而死亡的细胞我们则不涂色。一个细胞的生死由其在该时刻本身的生死状态和周围八个邻居的状态决定,更确切的讲是周围八个邻居的状态的和决定。其规则叙述如下: 1 对于存活的细胞(涂色的方格):当八个邻近细胞中只有零个或一个是活细胞时,则该细胞会因孤独而死亡;当八个邻近细胞中,恰有二或三个是活细胞时,则该细胞继续存活;当八个邻近细胞中,有四个或超过四个是活细胞时,则该细胞会因拥挤而死亡 2 对于死亡的细胞(未涂色的空方格):当八个邻近细胞中,恰有三个是活细胞时,则该处诞生一个活细胞 生命游戏的演化规则近似地描述了生物群体的生存繁殖规律:在生命密度过小(相邻细胞数<2)时,由于孤单、缺乏配种繁殖机会、缺乏互助也会出现生命危机,细胞状态值由“生”变为“死”;在生命密度过大 (相邻细胞数>3)时,由于环境恶化、资源短缺以及相互竞争而出现生存危机,细胞状态值由“生”变为“死”;只有处于个体适中(相邻细胞数为2或3)位置的生物才能生存(保持细胞的状态值为“生”)和繁衍后代(细胞状态值由“死”变为“生”)。正由于它能够模拟生命活动中的生存、灭绝、竞争等等复杂现象,因而得名“生命游戏”。 尽管生命游戏的规则看上去很简单,但是它具有产生动态图案和动态结构的 能力。它能产生丰富的、有趣的图案。生命游戏的游戏截图图3如下: 图3 生命游戏模拟图 运行这个程序的时候,我们发现,透过不同的设计,生命游戏可以展现无限的多样性。其演化结果与初始细胞状态值的分布有关,给定某个的初始状态分布,即随意的设置一些活着的细胞,经过若干步的运算,有时候它们会全部死亡,即变成全黑的图案,有时候则生成固定不动的图案,有时候生成翻滚不已的图案,有时候则得到周而复始重复的几个图案,更多的时候,是得到沸腾着的各种结构,有的图案蜿蜒而行,有的则保持图案定向移动,形似阅兵阵„„,其中最为著名的是“滑翔机”的图案,即一小簇以常速滑过屏幕的活细胞,在四个世代的一个循环中,它沿着对角线的方向在方格上爬行,转换自己的位置,一个正方形向右,一个正方形向下,直到与其它结构相撞,产生出新的结构。 1970年康维在《科学美国人》杂志上发表了关于生命游戏的文章,并利用细胞自动机的一些现象,成功了构造了与、或、非等逻辑门,然后更进一步证明了生命游戏足以支持通用的计算,即这个细胞自动机具有通用图灵机的计算能力,与图灵机计算等价。也就是说给定适当的初始条件,生命游戏模型能够模拟任何一种计算机。 2 细胞自动机的程序算法实现 2.1 通用模块的设计 由于下面这几个算法的实现都有一些共同的特点: 1 需要一个二维的空间 2 在程序运行时,需要频繁的刷新绘图区域 3 运动的个体都是一些离散的个体 所以,我设计了一个通用的模块,实现下面的功能的时候,都是调用了这个 模块。这个模块包含了两个部分: (1)在二维空间上绘制离散的个体 (2)对这些离散个体的存储 另外,为了证明这个模块通用的程度,我利用这个模块轻易实现了贪吃蛇、五子棋等小游戏,证明了这个模块的功能确实超出了预期的设想。 下面介绍一下这个模块的组成。先看图4: 图4 生命游戏模拟图 观察黑色的绘图区域,我们就可以发现,要实现各种功能,我们首先要用一个数据结构来 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 各种离散个体的信息,也就是布局,然后把这些离散信息绘制出来。 1) 布局 布局相对来说比较简单。因为绘图区域是个二维图形。我们可以先创建一个int类型的二维数组cell,然后使二维数组的元素和对上面的每一个小区域一一对应起来。比如,某一个元素数值是 1 的话,那么就代表这个相应的区域存在 0 的话,就说明这块区域没有个体。我们可以先对这个一个个体,如果数值是 数组进行处理,然后再一次性绘制出来。实践证明,这样的方法是可行的。由于程序是动态运行,也就是说,当前的数组状态须根据相应的规则,产生下一代的状态。所以,单单只有一个数组,没 办法 鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载 实现这个功能。所以,我定义了另外一个数组:workcopy 。这个数组保存的就是cell状态的一个备份。当需要演化时,我们逐个对cell上的个体进行判断,邻居在workcopy 上判断。修改直接体现在cell数组上。 2) 绘制离散个体 离散的个体我们可以调用图形来,然后把它画在黑色的画布上。由于画布是个二维的矩阵,所以,要规整的在画布上布局这些个体,我们使用的图形必须是 正方形的,并且,图形的背景要透明,看起来才比较自然。至于个体在画布上的擦除,我们可以采用对整个画布进行刷新的办法。但是这个方法不仅低效,而且程序运行的时候,整个画面非常闪烁,令人很不愉快。我采取了一个小技巧,由于画布是黑色的,我们可以制作一个尺寸和个体图片尺寸一样大小的的黑色图片,把它覆盖在原来的区域,就等于把这个个体擦除了。这个方法不需要刷新整个屏幕,而且,只对小区域的图形进行操作,大大提高了系统的性能。下面是这个想法的算法实现(为了提高系统的性能,我使用了双缓冲技术): 3) 算法描述: Begin (1)首先把cell里的信息复制到workcopy里。 (2)载入你想在屏幕上显示的图片,建立虚拟画布。 (3)对绘画区域上的位置逐个进行判断。如果这个位置下一代有而上一代没有的话,就绘制一个图形;如果这个位置下一代没有而上一代有的话,就擦除上面的图形。 End 请看通用模块显示部分算法流程图5 图5 通用模块显示部分算法流程图 4) 总结 这个模块之所以有一定的通用性是因为它的显示不受任何规则的影响,也就是说它是一个独立的函数。绘制的个体也可以多种多样,不一定非要是一个小球,你甚至可以定义一个坦克的小图品,没有问题,只要您的图片是正方形的,而且图片的长度能满足下面这个公式: 600 % 图片长度(像素点) == 0 (因为绘图区域的长度是600个像素点)。这就说明了它的两个组成部分都是独立的。如果您要实现的算法满足我上面列出的三个特征,您可以使用这个通用模块,并添加一些辅助的规则,轻易实现这个算法。 2.2 生命游戏的实现 算法描述(这里,离散个体这个称呼我们改成细胞):; Begin (1)初始化。把cell 数组的每一个元素都设置成0.设置相关的变量,如临时变量、记录坐标的变量等。 (2)对cell 数组进行随机赋值,只能是0和1. (3)备份cell 数组的信息到workcopy 数组里。 (4)对cell 数组的每个元素逐个计算。取得这个细胞上、下、左、右的坐标值。如果数组元素已遍历完,则直接到End. (5)利用这些坐标值求出生存邻居的个数 (6)结合邻居个数和约束条件,如果细胞是活的,那么当它有2到3个邻居时就可以继续生存下去. 否则只能死亡或者当原来没有细胞生存时,当它的邻居是3时,也可以产生出一个细胞.其他情况一律死亡。把这些信息记录到cell数组上。返回到(4)。 End 1) 收集邻居个数 图6 生命游戏中收集邻居个数的算法流程图 2) 按规则演化 图7 生命游戏中细胞按规则演化的算法流程图 注意:算法流程图中出现的变量名解释: h_i 是二维矩阵的行号;h_j是二维矩阵的列号; top 存储当前细胞上一行的行号坐标; bottom 存储当前细胞下一行的行号坐标; left 存储当前细胞前一列的列号坐标; right 存储当前细胞后一列的列号坐标;z是矩阵的边界 处理了cell数组以后,我们就可以使用通用模块中的Display函数把它的 : 状态绘制出来。至此,完成了生命游戏的程序设计。请看程序运行的截图 图8 图8 生命游戏 2.3 一维通用细胞自动机(CA)的实现 生命游戏其实是一维细胞自动机的一个特殊的例子。它能实现比一维细胞自动机更生动直观和奇幻的图形。但是,由于一维细胞自动机规则简单、现象直观,故而人们对它进行了深入的研究,而且,沃夫拉姆的四种分类也是建立在一维细胞自动机的基础之上。它的理论基础可参照本论文第一章第二节。所以,有必要实现一维细胞自动机模型。 一维细胞自动机的算法描述: Begin (1)随机生成第一代的细胞:先在绘制区域的最后一行,也就是矩阵数组的最后一行进行一次随机生成细胞操作。 (2)从第二行开始,把整个区域往上挪一行 (3)根据一维细胞自动机的规则和上一代的细胞状态,计算出下一代的细胞状态。并放置在cell数组的最后一行里。 根据cell数组的信息,绘制出相应的图形并返回到(2)步骤。 End 在这里,我们有必要对一维细胞自动机的规则作出解释,请先参看第一章第三节对规则的解释,上面是以一维细胞自动机为例的,也详细阐述了其规则的原理。下面简单其规则产生的算法: 一维细胞自动机规则生成算法描述: Begin (1)取得使用者给出规则的十进制表达形式。 (2)使用相关的函数把十进制值转化成二进制(具体语言不一样,可参照本毕业设计源程序的trun_this_on() 函数)。 (3)把这个二进制值每一位分别拆开,放到数组里以便使用。 End 图9 一维细胞自动机演化规则号转化为二进制值的算法流程图 图10 一维细胞自动机算法流程图 注意:算法流程图中出现的变量名解释:f、k、a和b 是临时变量 ,abc是存放二进制位的一个数组。 完成程序设计工作,请看程序运行截图 图11: 图11 一维细胞自动机 2.4 分子热运动模拟 由于上面的章节没有提到分子热运动,所以这里需要解释一下。我们还是使用原来的通用模块来对分子热运动这个物理现象进行模拟。这里,离散个体的称呼改成小分子。因为分子运动性质和上面的细胞有点区别,每个分子都必须有自己的运动方向和当前以及下一步的坐标,所以使用了一个结构体来存储这些信 息。当然,我们对这群分子的状态的显示离不开cell数组,cell 属于通用模块的第一个组成部分。我们可以这样定义这个数据结构: public struct qiuti { public int x; //这个小分子当前的坐标值 public int y; public int fang; //指示这个小分子当前的的运动方向 } 我们用上面的结构体定义一个结构体数组,来存储所产生的分子的信息(信息指这个分子下一步的坐标和方向)。 public qiuti[] fenzi = new qiuti[15000]; 分子随机热运动模拟程序算法描述: (1)在cell数组上随机生成小分子的坐标和方向。 (2)把这些信息记录在我们定义的结构体数组里。 (3)把 cell 数组的信息复制到 workcopy 数组里去。 (4)对结构体数组的每一个数据项都进行计算,给出分子下一步的方向和坐标。 (5)调用通用模块显示出所有分子的状态,并返回(3)步骤。 图12 分子热运动模拟算法流程图 注意:算法流程图中出现的变量名解释:fenzi是结构体数组,fenzi_count是存储分子个数的变量,qq是临时变量。 至此,分子热运动的程序设计完成,请看程序运行的截图: 图13 分子热运动模拟 3 细胞自动机的实验 3.1 一维细胞自动机分类 20世纪 80年代 ,物理学家斯蒂芬.沃夫拉姆对细胞自动机(CA)进行了分类,做了全面研究(1984)。他认为细胞自动机是个真实的复杂系统,有一些系统非常有趣,可以展现出和真实世界类似的现象。从大气现象到生物体甚至是经济系统,莫不如此。因此,有可能利用细胞自动机发现复杂系统的一般规律。更为有意义的是:复杂的系统可以从简单的行为中突现出来。 其次, 他相信,科学正处在一种新型研究方法变革的重大时期。这就是计算机实验。对自然界的一些对象,特别是复杂对象的研究,很难进行直接的实验。比如遥远星系中旋转的巨大的气体云,据说,它们往往在引力的作用下收缩成高密度的集结物,并最终成为恒星的中心团块,其周围绕着它旋转的较小的团块最后变成伴随该恒星的行星系统。这种说法,很显然没有人能用实际的实验来检验一下。又假如有人说通过提高利率,比如说在很短的时间内提升500个基点,以检验关于货币和股票的价格波动的某个新理论。可以肯定,任何一个国家的金融机构都不会同意,因为这种系统对人们的生活太重要了,任何人都不敢贸然作这类实验。但是,利用计算机进行模拟实验,同样也可以得出有意义的结果。而细胞自动机是利用这种新型研究方法进行研究的最好的对象。 沃夫拉姆所研究的细胞自动机是一维的,而康维和冯。诺伊曼的细胞自动机都是二维的,它们是在二维的平面上运行的。沃夫拉姆的一维细胞自动机是在一条直线上运行。每一个细胞只有左右两个邻居。一维细胞自动机的一个优点是:因为每一代细胞的状态都可以表示在一条直线上,因此,我们可以把不同时代的细胞状态从上到下一代代地排列。这样,我们就能轻易地看到它的历史变化情况。还有一个好处就是,规则的设定很简单,这佐证了简单规则能产生复杂现象的理 论,同时,也能很轻易的研究不同的规则会产生什么样的结果。 下面介绍沃夫拉姆的一维细胞自动机 每一个细胞只能处在两个状态中的一个,即”生”和”死”。开始一行是随机配置的。我们把它叫做A行,A行的下面一行就是B行,表示下一代的情况。B行的状态由既定的规则根据A行的状态来决定。主要考虑下面的情况:B行的某个细胞的状态依赖于它正上方(A行)的3个细胞的状态。这3个个细胞的状态有8种可能。如果用”0”来表示死亡,用”1”来表示生存,那么,这8种状态就是:111 ,110,101,100,011,010,,001,000,对既定的规则来说,这三个细胞决定了B行这个细胞的状态。B行的每一个细胞的状态都可以用同样的规则来确定。以下C行和D行依此类推„ 很明显,我们可以用8个二进制代码对这个八个状态进行编码,每一个编码就是事实上的一条规则,我们可以有2的8次方(256)种规则来约束这个一维细胞自动机。每一条规则我们可以用二进制代码的十进制数码来作为它的代号。下面我们来对这个一维细胞自动机进行详细的研究,请看图14: 图14 一维细胞自动机 这就是一维细胞自动机的模型。这是一个方格的世界,所有的方格都排成一排,每个方格都有黑或白两种颜色,我们用黑色的格表示直线上0状态的方格,用白色的格表示1状态的方格。那么一条断续的横线就是当前所有细胞状态的一种分布。这些方格随着时间变化,就形成了不同的横线。我们把这些随着时间变化的线纵向拼在一起形成了一个网格区域。其中纵轴表示时间的流逝(往下为正),横轴为细胞自动机在对应时刻的状态,就能得到一幅图像。 状态指的是每个细胞的状态(如生和死),半径是指每个细胞邻居的半径,如果是1,就表明有两个邻居,如果是2就表明有四个邻居。编码也就是我们上面说的那个编码。照这样看来,只要我们改变了编码,相当于改变了规则,我们 能比较各种简单的规则下,细胞自动机能展现出什么复杂的现象来了。 首先我们输入224号规则,出现了这样的图示 图15: 图15 一维细胞自动机224号规则的图形 刚出现了一些白点,过了几个周期,屏幕就变成了一片黑色。而且再也没有任何黑色的生命体出现了。这说明,细胞全部死光了。重新运行一次后,还是一样的状况,这说明,这中现象不是偶然的,在224号规则的约束下,细胞自动机的细胞在运行了几个周期以后就全部死光了。请注意,224的二进制代码是11100000. 也就是说,这个编码规则下,细胞生存的概率是3/8=0.375 。先不解释这个数值有什么用,下面会用到。我们在来看另外一个编码:254 图16 图16 一维细胞自动机254号规则的图形 经过几个周期以后,屏幕全部是白色的细胞体。这说明细胞进入了另外一个极端的状态上了。254号二进制代码是11111110,也就是细胞死亡的概率是1/8=0.125 同样,我们先记下这个值得。 我们来看看132号规则,截图如下 图17: 图17 一维细胞自动机的132号规则的图形 因为我们的细胞自动机是从下到上,一行行的显示他的状态,所以,出现一条条的竖线说明了它的状态没有任何变化,规则二进制代码是:100000100,细胞生存概率是2/8=0.25. 从以上的分析,我们可以看出来,实际上,这三种状态都是一种类型的,也就是他们都演化到了一个稳定的状态,不再有任何的变化。下面我们再来看看另外一种类型的细胞自动机。输入208规则,得到以下截图 图18: 图18 一维细胞自动机的208号规则的图形 可以看到,CA显示出来的现象是一条条斜线。由于我们的边界是循环的,因此可以预言,经过若干个时间周期的运行以后,细胞自动机又回复到了原来的状态,因而这样的细胞自动机是循环的。两个相同状态之间经历的时间步长为这种细胞自动机的周期。208的二进制代码是11010000,故细胞生存概率是 3/8=0.375. 仔细观察这两类的细胞自动机,我们就可以看出,要么它们就重复着相同的类型,要么就周期性的变化着,从某种意义上来说,它们都是处在一定程度上的稳定状态。 来看看150号规则是怎么变化的 图19: 图19 一维细胞自动机的150号规则的图形 可以看到,CA显示出了一个非常混乱的图形,在这个规则的约束下,我们没有办法观察到什么规律性的现象。这种变化特点明显和上面的两种类型不一样。而150的二进制代码是10010110,也就是活细胞的生存概率是4/8=0.5,也许大家注意到了,这个值明显比上面的值要大的多。 观察一下110号规则,它显示了一个更为奇妙的现象 图20: 图20 一维细胞自动机的110号规则的图形 我们看到,它既不等同于完全的随机,又没有固定的循环的迹象。某些局部结构保持了固定不变,但是某些局部结构在屏幕上线性移动。这些结构之间以复 杂的方式进行交互。这种复杂结构既没有被吸引到固定的点或周期状态而变得死板,又没有因为随机而过于活跃。它既保证了一定的流动活性,同时又能产生具有“记忆性”的结构。 虽然这类图形和上一个复杂混乱的模型很相似,但是,它们是分属两种现象的。至此,我们就分析出了一维细胞自动机的四种现象,也就是沃夫拉姆拉姆所提出的四种分类。 1 CA在有限的时间内从初始状态演化到一个均质的状态,不管是什么初始值,细胞会收敛到一个稳定的模式。如果我们从程序上面观察,就会发现,每一行的细胞状态都是一样的,或者是生或者是死。 2 这类的CA通常会演化到周期性的循环模式。周期有长有短,2个交互的模式出现的的频率较大。 3 这类细胞自动机从任何初始状态开始,都会出现一种非周期的模式,或者叫做”混沌”模式。它的特点是,没有均质的状态出现,也没有明显的周期性呈现。看起来他的后续状态都是随机的。但是,只要时间足够多,我们就可以发现,他的统计特性非常相似。 4 这种类型的细胞自动机呈现出一种奇异的复杂的模式,但它不像第三种类型,它能呈现局部的稳定结构和有规律变化的结构。更为值得关注的是,它能够产生能在一维或者二维空间上持续转播的结构。 基于上面的分析,我们知道,第一和第二种类型的CA模式过于单一和稳定而失去了研究的价值。第三种类型我们也能高度的预测它的后续模式。所以,在这四种状态中,最值得我们研究的,就是第三种CA。 沃夫拉姆指出,和其他领域的分类一样,每一个类别都存在边界的情况。有一些CA,它既能分都某一类,同时也能划分为另外一类。但是这种CA的数量很少,为了简单起见,我们的研究不涉及到这一类的CA。 通过反复的运行初等细胞自动机的程序我们不难发现,所有的这256种细胞自动机都能被归为这四类。 如果我们做更深一步的思考,这所谓的混沌型和复杂型,虽然表面上看起来没有周期。但是,何以料定经过成千上万个时间步之后,不会变得有周期呢,其实,有这样一个事实:如果细胞空间是有限的,细胞状态数为2,那么细胞自动机演化必然呈现周期型变化。证明如下: 我们假设初始行的细胞的数量是有限的,比如说5个。那么这个行能演化达到的状态数最多只有2的5次方也就是32个。即使它的前32步演化得到的32个构型各不相同,但是它在演化的第33步,必然回到了一个在前32步里以前曾经到达过的状态,比如说第6步。一旦回到这个状态,那么它的下一步演化的结 果必然也和第7步一样。以此类推,它就变成周期型了。因此得出结论,任何一个细胞空间有限的细胞自动机都会穷尽其所有可能而回到循环状态。实际上,这个结论也适用于任何有限的离散动力系统。 但是,我们在程序中进行模拟,画布的宽度不可能取无限大,也就是细胞空间总是有限的,所以我们可以说实际上,在模拟结果中,不存在真正的混沌型和复杂型。 然而为什么又要把混沌型和复杂型单独归纳出来呢,因为在实际中,有限细胞自动机的可能性空间随着细胞空间的扩大呈指数增长。比如100个网格的细胞自动机要穷尽一遍可能性需要2^100步骤,大概是1后面跟30个0,对于这种大数目的可能状态,虽然它肯定是有限的,然而我们已经可以认为穷尽可能性不可能了。在用程序进行模拟的时候,只要初始个数达到一定大小,我们就认为已经足够模拟真实世界了。从而我们说,混沌型和复杂型,是相对于那种少量几步就开始循环的周期型来说的。 还有一点要说明的是,我们的程序设置了初始构型是随机生成的。在某些特殊的初始构型下,有可能110号规则也得不到第4类的行为。沃夫拉姆用实验验证了这一点。总之,初始构型也对细胞自动机的行为有一定影响。实际上,对于第4类细胞自动机来说,通过适当的构造初始构型,它可以模仿其它几类行为。 虽然当时沃夫拉姆已经把CA分成了这四类,但是,他并不清楚这四类的CA之间的关联是什么。是什么决定了某一个特定的规则属于某个类别。 我们现在虽然不能证明沃夫拉姆的分类是否合理、正确。至少,我们可以用一维细胞自动机的模型做实验,证实了确实有这四种类型的存在。下面,再对兰顿提出的复杂系统相变的调节参数进行分析和实验。 3.2 复杂系统相变的调节参数 在许多真正的非线性系统中,运动的方程式中包含了很多的参数。这些参数起着调节的作用。就是这些参数决定了系统的状态,也就是”混沌”的程度。比如,如果这个系统是个滴水的龙头,其参数就是水流的流速。或者,如果这个系统是兔群,其参数就会是兔子的出生率和因繁殖过多而造成的死亡率之间的比值。一般来说,小参数值通常导致稳定的行为:均速水滴、不变的兔群规模,等等。这与沃夫拉姆的第一和第二等级的停滞行为非常相似。但当参数越变越大时,这个系统的行为就会变得越来越复杂——不同大小的水滴、波动的兔群规模,等等——一直到最后变得完全混乱。到这个时候,这个系统的行为就是沃夫拉姆的第三等级。这些非线性连续系统中却没有第四等级。尽管如此,这些非线性系统与沃夫拉姆的等级之间的却如此类似,这就促使很多学者开始沿着这一思路,试图寻找到这一参数。最终,当时还在密歇根大学攻读博士学位的美国学者兰顿 (Christopher Langton)如愿以偿,并以此成果作为其博士论文。 对于一维细胞自动机,他找到的参数如下: 现假设每个细胞具有k种状态(状态集为Σ),每个细胞的邻域集合的元素 n个数为n,则共存在k种邻域状态,如一维细胞自动机,当某个细胞只能有两种 3状态且它的邻居是2时,它自身和邻居(邻域)就有2 种状态。选择k种状态中任意一种s?Σ并称之为静态sq,静态状态可任意选择,如100或者101。假 n设对转换函数而言,共有n种变换将邻域映射为该静态,剩下的k-n种状态被qq随机地、均匀地映射为Σ-{sq} 中的每一个状态,则可定义: 这样,对任意一个转换函数,定义了一个对应的参数值λ。 为了理解兰顿的思路,进一步弄清楚λ这个参数的含义,我们先来了解一下基本的CA概念,使用最熟悉的二维细胞自动机来说明。假设每一个细胞允许的状态是K,他有N个邻近的细胞(注意,N包括这个细胞自身)。那么,我们可以得到K=2,N=9;那么在我们的二维细胞自动机中,每一个细胞都处于2的9次方也就是512个状态当中的一个。但是,生命游戏中每一个细胞的转换规则只依赖他邻居的状态的个数,而对位置不敏感,所以,我们的规则远比512这个数目要少的多。极端的,可以定义512条规则对细胞自动机进行约束。 对于生命游戏,假设当前的细胞是活的,如果它具有2到3个活的邻居,那么, 2 3 在下一代,他就能继续存活。由于它有8个邻居,所以一共存在C+C=84种情88况。假设当前的细胞是死的,如果他周围有三个活的邻居,下一代就能产生一个 3 细胞。这种情况是C=56种,因此,上一代的两种概率加在一起,从特定的一8 代到达下一代,细胞是活状态的情况一共有84+56=140(上一代的细胞有生和死两种状态,这两种状态下产生活的下一代细胞的概率应分别计算,然后加在一起。 )种。我们就可以得出生命游戏的λ值是140/512=0.273. 兰顿用不同的λ值做了一系列的实验,发现,沃夫拉姆的四种类型完全落入了参数λ的某些范围:当0.0<λ<0.2时第一种类型的细胞自动机发生。当0.2<λ<0.4时,第二和第四类型的细胞自动机发生。当0.4<λ<1.0时,第三类型的细胞自动机发生。至此,我们就可以看出,当所确定的规则倾向于让某种状态发生时,细胞自动机就会出现无组织或者混乱的现象。相反的,当规则让所有的状态发生的概率很均匀的时候,那么,系统就会出现单一,稳定的状态。我们所重点研究的是第四种类型的状态,也就是,如果我们能让λ值保持在0.2和0.4之间,我们就能得到这种类型的细胞自动机。 在我们进行一维细胞自动机的实验的时候,曾经统计过细胞生存的概率值得,实际上,这个生存概率就是λ值。很明显,我们所分析出来的概率值和λ的分类范围是互相吻合的。 通过分析,我们知道,这些不同类型的细胞自动机分属不同的相(使用到了物理学的相变的概念,前面已经有相关概念的介绍)。众所周知,在现实生活中,物质通常被分为:1 固态 ;2 液态 ;3 气态; 但是由于液态和气态通常可以不经过相变而相互转化,所以,具体应该被分为:1 流体;2 固体; 类似的,细胞自动机也有两个基本的结构,即: 1 周期(包含第一和第二类型的细胞自动机) 2 混沌(包含第三类细胞自动机) 深入的研究使得兰顿得出结论:从周期到混沌就是物理学中所提到的二级相变。但是,在这个临界相变的区域,还存在着一个过渡的区域。这个区域非常平滑。通过相变的概念,兰顿就把计算机上的动态系统和现实生活中复杂的动态系统联系到了一起。而且,他认为,这不是两种现象,而是同一种现象。 借助模拟程序,伴随这λ值从0变化到1,我们看到了CA动态行为的所有的谱系。一些简单,一些复杂。在λ的取值范围内,动态行为变化的相当平滑。从λ小值开始,我们逐步把λ值增大,就可以发现,它从一代演化到下一代的时间越来越长。当到了λc(一个介于0和1的中间值),此周期达到了最大的值,然后继续增大时,周期越来越短。周期长,说明了计算机计算的复杂度提高了,算法变得更复杂了。在0.2到0.4之间的某一个值,第四种类型的细胞自动机出现的时候,此时,算法最复杂。 我们知道,固体和液态转换的过程中,在达到转变温度之上时,大多数水分子相互翻滚,处于完全混乱的状态:流体阶段。然而,在相互翻滚的水分子中有成千上万极其微小的、有秩序的岛屿,其水分子经常在边缘线上解体和重新结晶。这些岛屿即使就其分子规模而言,也是既不非常大,也不非常持久的。所以这个系统仍然接近混沌。但随着温度下降,最大的岛屿开始变得非常之大,存在的时间也相对延长。混沌和秩序之间的平衡开始起变化。当然,如果温度一下子上升到超过转变点,其作用就会被扭转:物体的状态就会从布满岛屿的流体之海变为布满流体之湖的固体大陆。但如果温度恰好处在转变点上,其平衡就会尽善尽美:有秩序的结构之量与混沌的流体之量正好相等,秩序和混沌相互交织,呈现出复杂而永恒变化的状态。最大的秩序结构会在空间上传播任意长的距离,并且持续任意长的时间。没有任何东西能够真正安顿下来。能够繁衍的、滑翔机式的“延长的瞬变值”、永不静止的动力、能够生长、分裂和重组的结构之舞呈现出来的令人永恒惊奇的复杂。这与沃夫拉姆的第四等级正好相似。 另外,在λ<<λc或者是λ>>λc 的时候,不用需要太多的时间,我们就可以确定该种细胞自动机的最终结果,但是,对λ约等与λc的时候,我们没 有办法判定它的最终结果。也就是说,对初始的输入状态,我们不能确定它的最终状态,也就是说,没有解。问题是不可计算的。基于以上的特点,兰顿把沃夫拉姆所说的第四种类型的细胞自动机称作 “混沌边缘”的CA。 分析到这里,我们可以发现,细胞自动机的表面现象下的深层原理我们可以用相变来解释。 4 细胞自动机的现实应用和长远意义 上面的章节详细论述了细胞自动机的历史渊源、结构以及它展现的各种现象和这些现象背后的意义。在后面还给出了各种细胞自动机的实现算法,并给出了详细的注释。值得注意的是,在程序的实现过程中,我构造了一个通用的模块,各类CA的实现正是建立在这个模块的基础之上。但是,单单论述这些实现的细节而不解释它的应用和长远意义,无疑会使细胞自动机成为无根之木、无源之水。故而在此给出它的应用范围并简单介绍了CA的特征以及长远意义。 4.1 现实应用 细胞自动机可用来研究很多一般现象。其中包括通信、信息传递、计算、构造、生长、复制、竞争与进化等。同时。它为动力学系统理论中有关秩序、紊动、混沌、非对称、分形等系统整体行为与复杂现象的研究提供了一个有效的模型工具。 细胞自动机自产生以来,被广泛地应用到社会、经济、军事和科学研究的各个领域。应用领域涉及社会学、生物学、生态学、信息科学、计算机科学、数学、物理学、化学、地理、歹境、军事学等。 在社会学中,细胞自动机用于研究经济危机的形成与爆发过程、个人行为的社会性,流行现象,如服装流行色的形成等。在生物学中,细胞自动机的设计思想本身就来源于生物学自繁殖的思想,因而它在生物学上的应用更为自然而广泛。例如细胞自动机朋于肿瘤细胞的增长机理和过程模拟、人类大脑的机理探索、爱滋病病毒HIV的感染过程、自组织、自繁殖等生命现象的研究以及最新流行的克隆技术的研究等。 在生态学中。细胞自动机用于兔子-草,鲨鱼-小鱼等生态动态变化过程的模拟,展示出令人满意的动态效果;细胞自动机还成功地应用于蚂蚁、大雁、鱼类洄游等动物的群体行为的模拟;另外,基于细胞自动机模型的生物群落的扩散模拟也是当前的一个应用热点。在信息学中。细胞自动机冉于研究信息的保存、传递、扩散的过程。另外。Rosenfeld等人还将二维细胞自动机应用到图像处理和模式识别中。 在计算机科学中。细胞自动机可以被看作是并行计算机而用于并行计算的研究。另外。细胞自动机还应用于计算机图形学的研究中。 在数学中,细胞自动机可用来研究数论和并行计算。例如Fischer设计的素数过滤器。 在物理学中。除了格子气细胞自动机在流体力学上的成功应用。细胞自动机还应用于磁场、电场等场的模拟,以及热扩散、热传导和机械波的模拟。另外。细胞自动机还用来模拟雪花等枝晶的形成。 在化学中,细胞自动机可用来通过模拟原子、分子等各种微观粒子在化学反应中的相互作用,而研究化学反应的过程。例如李才伟应用细胞自动机模型成功模拟了由耗散结构创始人普里高津所领导的布鲁塞尔学派提出的自催化模型模型,又称为三分子模型。巴雅姆等人利用细胞自动机模型构造了高分子的聚合过程模拟模型,在环境科学上,有人应用细胞自动机来模拟海上石油泄露后的油污扩散、工厂周围废水、废气的扩散等过程的模拟。 在军事科学中,细胞自动机模型可用来进行战场的军事作战模拟提供对战争过程的aq理解。 细胞自动机作为一种动态模型,更多的是作为一种通用性建模的方法,其应用几乎涉 及社会和自然科学的各个领域,在此我们不在一一介绍。 4.3 长远意义 1) 综合方法 人工生命和通常的生物学的自上而下的分析式研究方法是不同,采取的是自下而上的综合或者说是合成的研究方法,即将人工系统中我们认为最基本的粒子组合在一起,然后辅以一定的规则约束,使之产生类生命现象。正如我们在二维细胞自动机中看到的那样,这个粒子很明显指的就是细胞个体,这个“一定的规则”无疑就是使得λ值等于0.273的那三条规则。由此,我们得到了处在“混沌边缘”的复杂现象。 如果按照传统的研究模式,把生物体进行分类整理,然后对每一类的生物体进行部分分析解剖,然后是整体分析。这种研究对理解生命的构成和现有生命的规律必不可少。但是,综合可以扩展自然提供给我们的经验材料,使我们在更广泛的经验事实上发现更多的自然规律。毕竟,很多生物体必须是被扩展到超出了自然界提供的范围才能展现出它的规律。这是人工生命的一个重要的目的之一。从第三章细胞自动机的分类的分析之中,我们得出了这么一个结论:现存的这么多的非线性的复杂生命系统,极有可能是在非常简单的规则约束之下从一个特定的初始值演化而得来的。那么,地球上所发生的进化轨迹就可能仅仅是众多的进 化轨迹中的一个。如果让进化重新再来一次,我们来改变一下规则。会发生什么样的情况,最终的情况还会和现在一样吗,什么样的物种会消失,什么样的物种会突现出来,显然,传统的研究模式不能回答这个问题。但是,有了细胞自动机以后,我们完全可以试一下。 亚里士多德曾经说了一句生物学上的名言:整体大于部分之和。也就是1+1>2。这是对复杂的非线性系统来说的。这并不难理解。可以举两个例子。 其一,如果我们研究计算机组成原理,我们可以把计算机分割成很多部分,比如:输入输出系统,存储系统,指令系统。如果我们熟悉了这各个组成部分,综合起来研究,我们就能理解整个计算机系统是如何运作的。因为我们的计算机是一个线性的系统,它是符合叠加原理的。 第二,如果有人说人类社会仅仅是由人类本身加上人类创建的各种机构以及财富组成的,相信很多人都不会赞成这个观点。因为他忽略了最重要的人和人之间的关系。人之所以是社会上的人,区别于动物,是因为他能和其他的人有着千丝万缕的社会关系。而这个社会关系也就是哲学中所说的生产关系。这才是人类社会的灵魂。而这也从一定的程度上验证了我们在第四章中所说的观点:生命的本质不在物质本身的性质,而是它的组成形式~因此,我们得出这个结论:非线性系统 = 组成系统的物质系统 + 各组成物质之间的联系和形式。 非线性系统最主要的特征在于部分与部分之间的关系的性质,而不是部分自身的性质。当非线性系统被分解成独立的部分时,以部分间相互关系为基础的那些性质就不可避免的地消失了。核苷酸,氨基酸和其他以炭为基础的分子本身都不是有生命的。然而,把他们以合适的方式放到一起,从它们的相互作用中突现出来的动态行为却是有生命的。 生命是一种行为,而不是一种事物。它是由简单的行为组成的,而不是由简单的事物组成的。人工生命就是要用综合的方法,在其他媒介,比如计算机中,把生命行为从简单的组成部分的简单行为中合成出来。 2) 局部和整体 这个例子说明了,对一个复杂的系统来说,企图在整体上用复杂的规则来约束并使之正常运转甚至演化成更为复杂的系统是不现实的。 我们采用的是自下而上的研究策略,这种策略的一个中心观点是认为:简单的局部的非线性相互作用能产生异常复杂的整体行为。也就是说,在底层的简单的规则的不断作用下,隐含的全局行为就突现出来了。 综上所述,要产生类似生命的行为,就是模拟简单的单位,而不是去模拟巨大而复杂的单位。是运用局部控制,而不是全局控制。让行为从底层突现出来。 结论 由于众多学者和专家历经多年的努力,细胞自动机的理论发展才得以不断完善。它不是某个人出于某一刻的灵感而诞生的,而是凝结了人类智慧的结晶。作为一项交叉的边缘学科,它的体系日臻完善。而且,它还从一定程度上有力地支持了计算主义的观点,它极有可能成为未来计算机的雏形,甚至诞生出人工生命。从第四章的介绍来看,它有着广泛的用途。对它的研究使我得以观看到它的冰山一角,却已使我深深着迷。这三个月的学习,使得我对细胞自动机有了一定程度的理解,也很钦佩先辈学者们丰富的想象力和专业的研究精神。论文的结束并不代表学习生涯的结束,而是意昧着一个新的开始。 参考文献 [1] (美)米歇尔?沃尔德罗著,陈玲译.复杂―诞生于秩序与混沌边缘的科学[M].北京:海淀区三联书店,1997:29。 [2] 刘晓力.计算主义质疑[J].哲学研.2003(4):23。 [3] 周成虎,孙战利,谢一春著.地理细胞自动机研究[M].南京:科学出版社,1999:59。 [4] 李建会著.走向计算主义——数字时代人工创造生命的哲学[M].北京:中国书籍出版社, 2004:13。 [5] 李建会著.与真理为友[M].上海:科技教育出版社,2002:24。 [6] Bastien[美]著.物理系统的细胞自动机模拟[M].北京:清华大学出版,2003:78。 [7] 彭罗斯[英]著,许明贤,吴忠超译.皇帝的新脑[M].湖南:科学技术出版社,1996:54。 [8] 约翰?霍兰[英]著,陈禹等译,方美琪校.涌现,从混沌到有序[M].上海:科学技术出版社,2001:23。 [9] 约翰?霍根[美]著.科学的终结[M].海南:远方出版社,1997:71。 [10] Bastien[美]著.物理系统的元胞自动机模拟[M].北京:第一版清华大学出版社, 2003:58。 致谢 当我敲下这篇论文的结语的最后一个字时,我激动的心逐渐平静了下来。这四年的学习生涯终于要划上句号了。四年的学习生涯,弹指一挥间,如白驹过隙。纵然对母校有千般不舍,还是不得不奔赴未来的前程。今天的论文,是我留给母校唯一的东西。 我要感谢我的导师金虎老师,他孜孜不倦的教诲和细心的指导,是我不断前进的动力。这几个月来,多次蒙受金老师的指导,在我一次次萌生出一些幼稚想法的时候,他总是能够点头肯定我的想法,并给我积极的建议,这给了我极大的鼓励,使我得以顺利完成论文的撰写。他不厌其烦、平易近人、宽厚仁慈、渊博学识和饱满的工作热情深刻地体现了“学为人师,行为师范”的准则。 感谢我的辅导员吴春旺老师。吴老师是个工作态度严肃但非常热心的人。他非常关心我们的学习生活,还经常抽空和我们谈心。在我生病休息的时候,吴老师还打电话询问了我的病情。这四年忙碌而快乐的学习生涯跟吴老师的关怀是分不开的。他的个人魅力和工作能力都深深令我折服。 我要感谢我的父母兄弟,他们的辛劳和奉献让我体会到了家庭的温暖和世界上最无私的亲情之爱。没有他们的辛勤劳作,就没有一个在大学校园里中的我,遑论今天的毕业论文。 我要感谢我的女朋友,她也一直关心着我的论文。因为她的存在,我永远都以一颗快乐的心去键入论文的每一个字。 在我四年的学习生涯中,我都为拥有一群友善、上进的同学而骄傲(包括已经离校的师兄师姐和在校的师弟师妹)。是他们,让我感受到了友情的美妙。特别是在撰写论文的时候,得到了很多同学,特别是室友的帮助。这种温馨而平和的气氛时时感动着我。 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢~ 声明 本论文的工作是 2007年2月至2007年6月在成都信息工程学院网络工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。 关于学位论文使用权和研究成果知识产权的说明: 本人完全了解成都信息工程学院有关保管使用学位论文的 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 ,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。 (5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。 除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。 特此声明~ Anyway, I was here in Amber some years ago. Not doing much of anything. Just visiting and being a nuisance. Dad was still around, and when I noticed that he was getting into one of his grumpy moods, I decided it was time to take a walk. A long one. I had often noticed that his fondness for me tended to increase as an inverse function of my proximity. He gave me a fancy riding crop for a going-away present-to hasten the process of affection, I suppose. Still, it was a very nice crop-silver-chased, beautifully tooled-and I made good use of it. I had decided to go looking for an assemblage of all my simple pleasures in one small nook of Shadow. It was a long ride-I will not bore you with the details-and it was pretty far from Amber, as such things go. This time, I was not looking for a place where I would be especially important. That can get either boring or difficult fairly quickly, depending on how responsible you want to be. I wanted to be an irresponsible nonentity and just enjoy myself. Texorami was a wide open port city, with sultry days and long nights, lots of good music, gambling around the clock, duels every morning and in-between mayhem for those who couldn't wait. And the air currents were fabulous. I had a little red sail plane I used to go sky surfing in, every couple of days. It was the good life. I played drums till all hours in a basement spot up the river where the walls sweated almost as much as the customers and the smoke used to wash around the lights like streams of milk. When I was done playing I'd go find some action, women, or cards, usually. And that was it for the rest of the night. Damn Eric, anywayl That reminds me again . . . He once accused me of cheating at cards, did you know that? And that's about the only thing I wouldn't cheat at. I take my card playing seriously. I'm good and I'm also lucky. Eric was neither. The trouble with him was that he was good at so many things he wouldn't admit even to himself that there were some things other people could do better. If you kept beating him at anything you had to be cheating. He started a nasty argument over it one night-could have gotten serious-but Gerard and Caine broke it up. Give Caine that. He took my part that time. Poor guy . . . Hell of a way to go, you know? His throat . . . Well, anyhow, there I was in Texorami, making music and women, winning at cards and jockeying around the sky. Palm trees and night-blooming wallflowers. Lots of good port smells-spices, coffee, tar, salt-you know. Gentlefolk, merchants, and peons-the same straights as in most other places. Sailors and assorted travelers passing in and out. Guys like me living around the edges of things. I spent a little over two years in Texorami, happy. Really. Not much contact with the others. Sort of postcard like hellos via the Trumps every now and then, and that was about it. Amber was pretty much off my mind. All this changed one night when I was sitting there with a full house and the guy across from me was trying to make up his mind whether or not I was bluffing. The Jack of Diamonds began talking to me. Yes, that is how it started. I was in a weird frame of mind anyway. I had just finished a couple very hot sets and was still kind of high. Also, I was physically strung out from a long day's gliding and not much sleep the night before. I decided later that it must be our mental quirk associated with the Trumps that made me see it that way when someone was trying to reach me and I had cards in my hand-any cards. Ordinarily, of course, we get the message empty-handed, unless we are doing the calling. It could have been that my subconscious-which was kind of footloose at the time-just seized on the available props out of habit Later, though, I had cause to wonder. Really, I just don't know. The Jack said, "Random." Then its face blurred and it said, "Help me." I began getting a feel of the personality by then, but it was weak. The whole thing was very weak. Then the face rearranged itself and I saw that I was right. It was Brand. He looked like hell, and he seemed to be chained or tied to something. "Help me," he said again. "I'm here," I said. "What's the matter?" ". . . prisoner," he said, and something else that I couldn't make out. "Where?" I asked. He shook his head at that. "Can't bring you through," he said. "No Trumps, and I am too weak. You will have to come the long way around...." I did not ask him how he was managing it without my Trump. Finding out where he was seemed of first importance. I asked him how I could locate him. "Look very closely," he said. "Remember every feature. I may only be able to show you once. Come armed, too. . . ." Then I saw the landscape-over his shoulder, out a window, over a battlement, I can't be sure. It was far from Amber, somewhere where the shadows go mad. Farther than I like to go. Stark, with shifting colors. Fiery. Day without a sun in the sky. Rocks that glided like sailboats across the land. Brand there in some sort of tower-a small point of stability in that flowing scene. I remembered it, all right. And I remembered the presence coiled about the base of that tower. Brilliant. Prismatic. Some sort of watch-thing, it seemed-too bright for me to make out its outline, to guess its proper size. Then it all just went away. Instant off. And there I was, staring at the Jack of Diamonds again, with the guy across from me not knowing whether to be mad at my long distraction or concerned that I might be having some sort of sick spell. I closed up shop with that hand and went home. I lay stretched out on my bed, smoking and thinking. Brand had still been in Amber when I had departed. Later, though, when I had asked after him, no one had any idea as to his whereabouts. He had been having one of his melancholy spells, had snapped out of it one day and ridden off. And that was that. No messages either-either way. He wasn't answering, he wasn't talking. I tried to figure every angle. He was smart, damn smart. Possibly the best mind in the family. He was in trouble and he had called me. Eric and Gerard were more the heroic types and would probably have welcomed the adventure. Caine would have gone out of curiosity, I think. Julian, to look better than the rest of us and to score points with Dad. Or, easiest of all, Brand could have called Dad himself. Dad would have done something about it. But he had called me. Why? It occurred to me then that maybe one or more of the others had been responsible for his circumstances. If, say, Dad was beginning to favor him . . . Well. You know. Eliminate the positive. And if he did call Dad, he would look like a weakling. So I suppressed my impulse to yell for reinforcements. He had called me, and it was quite possible that I would be cutting his throat by letting anyone back in Amber in on the fact that he had gotten the message out. Okay. What was in it for me? If it involved the succession and he had truly become fair-haired, I figured that I could do a lot worse than give him this to remember me by. And if it did not . . . There were all sorts of other possibilities. Perhaps he had stumbled onto something going on back home, something it would be useful to know about. I was even curious as to the means he had employed for bypassing the Trumps. So it was curiosity, I'd say, that made me decide to go it alone and try to rescue him. I dusted off my own Trumps and tried reaching him again. As you might expect, there was no response. I got a good night's sleep then and tried one more time in the morning. Again, nothing. Okay, no sense waiting any longer. I cleaned up my blade, ate a big meal, and got into some rugged clothes. I also picked up a pair of dark, polaroid goggles. Didn't know how they would work there, but that warden-thing had been awfully bright-and it never hurts to try anything extra you can think of. For that matter, I also took a gun. I had a feeling it would be worthless, and I was right. But, like I said, you never know till you try. The only person I said good-bye to was another drummer, because I stopped to give him my set before I left. I knew he'd take good care of them. Then I went on down to the hangar, got the sail plane ready, went aloft, and caught a proper current. It seemed a neat way to do it. I don't know whether you've ever glided through Shadow, but-No? Well, I headed out over the sea till the land was only a dim line to the north. Then I had the waters go cobalt beneath me, rear up and shake sparkly beards. The wind shifted. I turned. I raced the waves shoreward beneath a darkening sky. Texorami was gone when I returned to the rivermouth, replaced by miles of swamp. I rode the currents inward, crossing and recrossing the river at new twists and kinks it had acquired. Gone were the piers, the trails, the traffic. The trees were high. Clouds massed in the west, pink and pearl and yellow. The sun phased from orange through red to yellow. You shake your head? The sun was the price of the cities, you see. In a hurry, I depopulate-or, rather, go the elemental route. At that altitude artifacts would have been distracting. Shading and texture becomes everything for me. That's what I meant about gliding it being a bit different. So, I bore to the west till the woods gave way to surface green, which quickly faded, dispersed, broke to brown, tan, yellow. Light and crumbly then, splotched. The price of that was a storm. I rode it out as much as I could, till the lightnings forked nearby and I feared that the gusts were getting to be too much for the little glider. I toned it down fast then, but got more green below as a result. Still, I pulled it out of the storm with a yellow sun firm and bright at my back. After a time, I got it to go desert beneath me again, stark and rolling. Then the sun shrank and strands of cloud whipped past its face, erasing it bit by bit. That was the shortcut that took me farther from Amber than I had been in a long while. No sun then, but the light remained, just as bright but eerie now, directionless. It tricked my eyes, it screwed up perspective. I dropped lower, limiting my range of vision. Soon large rocks came into view, and I fought for the shapes I remembered. Gradually, these occurred. The buckling, flowing effect was easier to achieve under these conditions, but its production was physically disconcerting. It made it even more difficult to judge my effectiveness in guiding the glider. I got lower than I thought I was and almost collided with one of the rocks. Finally, though, the smokes rose and flames danced about as I remembered them-conforming to no particular pattern, just emerging here and there from crevasses, holes, cave mouths. Colors began to misbehave as I recalled from my brief view. Then came the actual motion of the rocks-drifting, sailing, like rudderless boats in a place where they wring out rainbows. By then, the air currents had gone crazy. One updraft after another, like fountains, I fought them as best I could, but knew I could not hold things together much longer at that altitude. I rose a considerable distance, forgetting everything for a time while trying to stabilize the craft. When I looked down again, it was like viewing a free-form regatta of black icebergs. The rocks were racing around, clashing together, backing off, colliding again, spinning, arcing across the open spaces, passing among one another. Then I was slammed about, forced down, forced up-and I saw a strut give way. I gave the shadows their final nudge, then looked again. The tower had appeared in the distance, something brighter than ice or aluminum stationed at its base. That final push had done it. I realized that just as I felt the winds start a particularly nasty piece of business. Then several cables snapped and I was on my way down-like riding a waterfall. I got the nose up, brought it in low and wild, saw where we were headed, and jumped at the last moment. The poor glider was pulverized by one of those peripatetic monoliths. I felt worse about that than I did about the scrapes, rips, and lumps I collected. Then I had to move quickly, because a hill was racing toward me. We both veered, fortunately in different directions. I hadn't the faintest notion as to their motive force, and at first I could see no pattern to their movements. The ground varied from warm to extremely hot underfoot, and along with the smoke and occasional jets of flame, nasty-smelling gases were escaping from numerous openings in the ground. I hurried toward the tower, following a necessarily irregular course. It took a long while to cover the distance. Just how long, I was uncertain, as I had no way of keeping track of the time. By then, though, I was beginning to notice some interesting regularities. First, the larger stones moved at a greater velocity than the smaller ones. Second, they seemed to be orbiting one another-cycles within cycles within cycles, larger about smaller, none of them ever still. Perhaps the prime mover was a dust mote or a single molecule-somewhere. I had neither time nor desire to indulge in any attempt to determine the center of the affair. Keeping this in mind, I did manage to observe as I went, though, enough so that I was able to anticipate a number of their collisions well in advance. So Childe Random to the dark tower came, yeah, gun in one hand, blade in the other. The goggles hung about my neck. With all the smoke and confused lighting, I wasn't about to don them until it became absolutely necessary. Now, whatever the reason, the rocks avoided the tower. While it seemed to stand on a hill, I realized as I approached that it would be more correct to say that the rocks had scooped out an enormous basin just short of it. I could not tell from my side, however, whether the effect was that of an island or a peninsula. I dashed through the smoke and rubble, avoiding the jets of flame that leaped from the cracks and holes. Finally I scrambled up the slope, removing myself from the courseway. Then for several moments I clung at a spot just below any line of sight from the tower. I checked my weapons, controlled my breathing, and put on the goggles. Everything set, I went over the top and came up into a crouch. Yes, the shades worked. And yes, the beast was waiting. It was a fright all right, because in some ways it was kind of beautiful. It had a snake body as big around as a barrel, with a head sort of like a massive claw hammer, but kind of tapered to the snout end. Eyes of a very pale green. And it was clear as glass, with very faint, fine lines seeming to indicate scales. Whatever flowed in its veins was reasonably clear, also. You could look right into it and see its organs-opaque or cloudy as the case might be. You could almost be distracted by watching the thing function. And it had a dense mane, like bristles of glass, about the head and collaring its gullet. Its movement when it saw me, raised that head and slivered forward, was like flowing water-living water, it seemed, a bedless river without banks. What almost froze me, though, was that I could see into its stomach. There was a partly digested man in it I raised the gun, aimed at the nearest eye, and squeezed the trigger. I already told you it didn't work. So I threw the gun, leaped to my left, and sprang in on its right side, going for its eye with my blade. You know how hard it can be to kill things built along reptilian lines. I decided immediately to try to blind the thing and hack off its tongue as the first order of business. Then, being more than a little fast on my feet, I might have any number of chances to lay in some good ones about the head until I decapitated it. Then let it tie itself in knots till it stopped. I was hoping, too, that it might be sluggish because it was still digesting someone. If it was sluggish then, I was glad that I hadn't stopped by earlier. It drew its head out of the path of my blade and snapped down over it while I was still off balance. That snout glanced across my chest, and it did feel as if I had been hit by a massive hammer. It knocked me sprawling. I kept on rolling to get out of range, coming up short near the edge of the embankment. I recovered my footing there while it unwound itself, dragged a lot of weight in my direction, and then reared up and cocked its head again, about fifteen feet above me. I know damn well that Gerard would have chosen that moment to attack. The big bastard would have strode forward with that monster blade of his and cut the thing in half. Then it probably would have fallen on him and writhed all over him, and he'd have come away with a few bruises. Maybe a bloody nose. Benedict would not have missed the eve. He would have had one in each pocket by then and be playing football with the head while composing a footnote to Clausewitz. But they are genuine hero types. Me, I just stood there holding the blade point upward, both hands on the hilt, my elbows on my hips, my head as far back out of the way as possible. I would much rather have run and called it a day. Only I knew that if I tried it, that head would drop down and smear me. Cries from within the tower indicated that I had been spotted, but I was not about to look away to see what was going on. Then I began cursing the thing. I wanted it to strike and get it over with, one way or the other. When it finally did, I shuffled my feet, twisted my body, and swung the point into line with my target. My left side was partly numbed by the blow, and I felt as if I had been driven a foot into the ground. Somehow I managed to remain upright. Yes, I had done everything perfectly. The maneuver had gone exactly as I had hoped and planned. Except for the beast's part. It wasn't cooperating by producing the appropriate death throes. In fact, it was beginning to rise. It took my blade with it, too. The hilt protruded from its left eye socket, the point emerged like another bristle amid the mane on the back of its head. I had a feeling that the offensive team had had it. At that moment, figures began to emerge-slowly, cautiously-from an opening at the base of the tower. They were armed and ugly-looking, and I had a feeling that they were not on my side of the disagreement. Okay. I know when it is time to fold and hope for a better hand another day. "Brand!" I shouted. "It's Random! I can't get through! Sorry!" Then I turned, ran, and leaped back over the edge, down into the place where the rocks did their unsettling things. I wondered whether I had chosen the best time to descend. Like so many things, the answer was yes and no. It was not the sort of jump I would make for many reasons other than those which prevailed. I came down alive, but that seemed the most that could be said for it. I was stunned, and for a long while I thought I had broken my ankle. The thing that got me moving again was a rustling sound from above and the rattle of gravel about me. When I readjusted the goggles and looked up, I saw that the beast had decided to come down and finish the job. It was winding its phantom way down the slope, the area about its head having darkened and opaqued since I had skewered it upstairs. I sat up. I got to my knees. I tried my ankle, couldn't use it. Nothing around to serve as a crutch, either. Okay. I crawled then. Away. What else was there to do? Gain as much ground as I could and think hard while I was about it. Salvation was a rock-one of the smaller, slower ones, only about the size of a moving van. When I saw it approaching, it occurred to me that here was transportation if I could make it aboard. Maybe some safety, too. The faster, really massive ones appeared to get the most abuse. This in mind, I watched the big ones that accompanied my own, estimated their paths and velocities, tried to gauge the movement of the entire system, readied myself for the moment, the effort. I also listened to the approach of the beast, heard the cries of the troops from the edge of the bluff, wondered whether anyone up there was giving odds on me and what they might be if they were. When the time came, I went. I got past the first big one without any trouble, but had to wait for the next one to go by. I took a chance in crossing the path of the final one. Had to, to make it in time. I made it to the right spot at the right moment caught on to the holds I had been eyeing, and was dragged maybe twenty feet before I could pull myself up off the ground. Then I hauled my way to its uncomfortable top, sprawled there, and looked back. It had been close. Still was, for that matter, as the beast was pacing me, its one good eye following the spinning big ones. From overhead I heard a disappointed wail. Then the guys started down the slope, shouting what I took to be encouragement to the creature. I commenced massaging my ankle. I tried to relax. The brute crossed over, passing behind the first big rock as it completed another orbit. How far could I shift through Shadow before it reached me? I wondered. True, there was constant movement, a changing of textures.. . The thing waited for the second rock, slithered by behind it, paced me again, drew nearer. Shadow, Shadow, on the wing- The men were almost to the base of the slope by then. The beast was waiting for its opening-the next time around-past the inner satellite. I knew that it was capable of rearing high enough to snatch me from my perch. -Come alive and smear that thing? As I spun and glided I caught hold of the stuff of Shadow, sank into the feel of it, worked with the textures, possible to probable to actual, felt it coming with the finest twist, gave it that necessary flip at the appropriate moment... It came following me! They had even gained some. Naturally, I got angry. To hell with flight! They were asking for it, and it was time they got it one came up and joined them. They were not all that good, but it was getting crowded and there were a lot of points and sharp edges straying about me. I kept parrying and moving, trying to get them to block one another, get in each other's way. I was partly successful, and when I had the best lineup I thought I was going to get, I rushed them, taking a couple of cuts-I had to lay myself open a bit to do it-but splitting one skull for my pains. He went over the edge and took the second one with him in a tangle of limbs and gear. Unfortunately, the inconsiderate lout had carried off my blade, snagged in some bony cleft or other he had chosen to interpose when I swung. It was obviously my day for losing blades, and I wondered if my horoscope would have mentioned it if I had thought to look before I'd set out. Anyhow, I moved quickly to avoid the final guy's swing. In doing so, I slipped on some blood and went skidding toward the front of the rock. If I went down that way, it would plow right over me, leaving a very flat Random there, like an exotic rug, to puzzle and delight future wayfarers. I clawed for handholds as I slid, and the guy took a couple of quick steps toward me, raising his blade to do unto me as I had his buddy. I caught hold of his ankle, though, and it did the trick of braking me very nicely-and damned if someone shouldn't choose that moment to try to get hold of me via the Trumps. "I'm busyl" I shouted. "Call back later!" and my own motion was arrested as the guy toppled, clattered, and went sliding by. I tried to reach him before he fell to rugdom, but I was not quite quick enough. I had wanted to save him for questioning. Still, my ? unegged beer was more than satisfactory. I headed back top and center to observe and muse. The survivors were still following me, but I had a sufficient lead. I did not at the moment have to worry about another boarding party. Good enough. I was headed toward the mountains once again. The sun I had conjured was beginning to bake me. I was soaked with sweat and blood. My wounds were giving me trouble. I was thirsty. Soon, soon, I decided, it would have to rain. Take care of that before anything else. So I began the preliminaries to a shift in that direction: clouds massing, building, darkening. . . . I drifted off somewhere along the line, had a disjointed dream of someone trying to reach me again but not making it. Sweet darkness.. . . . . . . . .
本文档为【毕业设计-基于细胞自动机的生命活力模拟的实现—论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_963767
暂无简介~
格式:doc
大小:369KB
软件:Word
页数:0
分类:
上传时间:2018-03-23
浏览量:18