宇宙间最有序的东西莫过于生命,生命现象也是最复杂的现象。生命从无到有,从低级到高级,不断进化,自强不息。达尔文的进化论揭示了生命形式的多样性,自然选择摒弃了上帝造人的谬论。但神学家们提出自我复制的生命形式不可能起源于原始汤中的随机性化学反应,其理由是从无机的基本粒子相互作用组成有机大分子,进而产生高度有序的生命的过程从统计学上讲是可能的,但所要求的时间超过宇宙的年龄。现代复杂科学研究回答了这个问题,那就是:生命并不是随机偶然产生的,但并非上帝的杰作,而是大自然自我组织的表现。现代科学中许多成果都来源于对生命现象的研究,其实质性的定量研究与计算机科学的发展是息息相关的,因为只有计算机才能承担如此复杂的计算任务。例如,洛斯拉莫斯的博士后克利斯•朗顿(Chris Langton)著名的人工生命的研究就是用计算机来模拟进化的基本生物机制和生命本身,而这一研究的基础是冯•诺依曼创立的元胞自动机理论。 元胞自动机(Cellular Automaton,简称CA)是一种时间、空间、状态皆离散,空间上相互作用,时间上的因果关系都是局部的网格动力学模型[3]。冯•诺依曼从四十年代末期开始就对自我繁衍的问题产生兴趣。当时,他已设计完成了可编程的数字计算机,可编程的计算机在当时是新奇的事物,数学家和逻辑学家都想知道一个问题:一台机器能通过编程来复制自己吗?在1948年普林斯顿的一次课堂上,冯•诺依曼用计算机来比喻活细胞,它描述了活细胞的功能与机器之间的类比关系,肯定地回答了这个问题。并以此建立了称为“自动机的一般逻辑学说”(The General and Logical Theory of Automata)。冯•诺依曼做了一个比方,他说,想象一台机器飘浮在一个池塘的水面,这个池塘里还有许多机器的零部件。接着,再想象只要给出任何一台机器的描述,这台机器就能在池塘中一直划到寻找到制造机器所需要的合适的零部件,然后就制造出这台机器。特别是,如果向它描述一下它自己,它就能够复制出自己。但是,这还不完全是自我繁衍,因为新复制出的机器虽然零部件全都很合适,但它不会描述自己,也就不能继续复制自己。所以,还应该有一个对下一代机器的复制性描述,然后就能自我繁衍了。这个比喻实际上指明了自我繁衍的基本材料所应该具备的两个基本功能:一方面起到计算机程序的作用,是一种在繁衍后代的过程中能够运行的算法;另一方面,它必须起到被动数据的作用,是一个能够复制和传给后代的描述。直到1953年科学家发现了DNA的分子结构,证实了DNA的确同时具备冯•诺依曼指出的两个基本功能。 二十世纪初,哥德尔、图林、彻基等人指出,无论机器是用何种材料制成的,机器流程的实质,即导致机器行为的,根本就不是机器本身,而是一种抽象的控制结构,是可以用一种规则来表示的程序。这也就是说,机器的“机制”在于软件,而不是硬件。同样,生命体的“生命力”存在于分子的组织之中,而不存在于分子本身,分子本身只是维持生命体代谢的必要条件。冯•诺依曼的元胞自动机这个概念及其理论系统就是一种自我繁衍“机制”的抽象理论。它想象一个可编程的宇宙,在这个宇宙中,时间是离散的,空间是一个个分离的细胞格。每一个细胞都是一个极为简单、抽象定义的计算机,一个有限的自动机。在任何一个时间和任何一个细胞中,自动机都会仅存在于无限多个状态中的唯一的一种状态之中。每一个时间变化,自动机就会转入一个新的状态,这种新的状态是根据其当前的状态及其邻居的状态所决定的。规律¬——演化规则被编入细胞的转换表内,告诉每一个自动机根据其邻居的状态做出改变。于是,冯•诺依的元胞自动机模型证明:如果将自我繁衍看成生命体的唯一特征,那么机器也能做到。 1984年,美国加州理工学院的物理学家史蒂芬•沃尔夫雷姆指出:元胞自动机不仅具有丰富的数学结构,而且与非线性动力学深刻相似。他在定量的计算机实验的基础上,根据CA演化的长期动态,将CA的动力学行为分为四类[4]: ① 平衡型。趋于一个空间平稳的构型,即元胞的状态不再改变,对应动力学中的不动点; ② 周期型。趋于一系列简单的结构或周期结构,对应动力学系统中的周期轨道; ③ 混沌型。表现出混沌的非周期行为,对应动力学中的混沌; ④ 复杂型。出现复杂的局部结构,产生自组织现象。 CA具有非常深刻的思想性,这反映在许多范畴之中。 第一,简单与复杂。CA模型非常简单,但是非常简单的演化规则却能产生出复杂的现象。若元胞的状态有k种,状态的更新由自身及其四周邻近的n个元胞状态决定,那么可能的演化规则数,即元胞自动机的种类有 种,这是个很大的数目,这正是模拟复杂现象需要的条件。在四种类型的CA中,复杂型的演化在常规动力学系统中找不到相对应的行为。但这种类型的行为却正是CA最为精妙之处。它总在不停地变化,但又不是完全的混沌,而是在繁衍、生长、重组。这种类型的最著名的例子就是“生命游戏”。 第二,局部与整体。CA是全离散的,演化规则是针对局部单元间的相互作用。这与复杂系统是相类似的,如神经元组成的大脑、个体组成的社会等。在这种系统中实际上是按照一种自涌计算(emergent computation)来运作的,即高层次的宏观整体本身没有算法,而是数量庞大的微观局部计算所表现出的一种自涌行为。这种行为的另一个典型是神经网络。 第三,无序与有序。序是反映事物的组成规律和出现的顺序,单个事物或因素不存在序的概念。系统的序结构反映系统内部组成要素之间有机联系方式和相互作用的顺序。平衡、对称与无序一体,非平衡、破缺与有序相连,非平衡是有序之源。在CA中,同样的演化规则却可能既产生有序的行为,又产生无序的行为。这正与生物进化相似,衍生出丰富的多样性,更有序的结构往往是更能适应环境的,它们会在自然选择中生存下来。 第四,确定与随机。复杂系统中单元的相互作用往往是比较简单的确定性过程,但系统行为是复杂的,不可预测的。CA与Turing机是等价的,因此,它具有强大的计算功能。但同时,它也是不可判定的,即不能用有限的程序步骤对CA演化的终态给出一般性答案。同时,复杂型CA远离平衡但又并非混沌,是“亦此亦彼”而不是“非此即彼”,是一种“混沌的边缘”,即保持在秩序和混沌的临界点上。所以CA中存在确定性与随机性的高度统一。 第五,偶然与必然。复杂型CA的演化虽然具有自相似性,但并不是过去的简单重复,而是不可逆的发展变化。尽管不可前知会出现那种类型的CA,但它一定蕴含在其初始的细胞分布状态、边界条件和演化规则之中。因此,在CA的变化过程中包含着偶然性和必然性的统一。 由于CA在计算模式上天然是同步并行的,所以它与当今对非冯•诺依曼体系结构计算机的研制方向是一致的。因此,随着计算机技术的进步,CA在计算机模拟复杂系统方面必将具有越来越广阔的前景。