当荷兰德五十年代中期在密西根大学遇见勃克斯的时候,勃克斯是一个身材匀称、举止优雅的人,酷似荷兰德想象中的传教士的形象(迄今为止,勃克斯从来没有不打领带、不着外衣地出现在以不在乎穿着著称的密西根大学的校园里)。但勃克斯同时也是一个热情友善的良师益友,他很快就把荷兰德带入了他的计算机逻辑设计小组,这是一个理论学家的圈子,这个圈子的人致力于计算机语言研究和开关网络定理论证,总之是力图从最严格、最根本的层面上掌握计算机这个新机器。
勃克斯还邀请荷兰德加入了一个新的博士学位项目。这是一个致力于在尽可能广泛的领域里探索计算机和信息处理意义的项目,勃克斯本人正在帮助组织这个项目。这个很快就以通讯科学变得众所周知的项目到了1967年终于发展成了一个完整的计算机系,叫做计算机与通讯科学。但在当时,勃克斯感到他只是在为1954年死于癌症的冯.诺意曼填补空白。“冯.诺意曼希望把计算机应用在两个方面。”他说。一方面是一般性功能的计算机设计,这种功能的计算机他们已经发明了。“另一方面是基于自动机理论。自然和人工智能知识的计算机。”勃克斯同时还感到,研制这样一种程序会符合这些学生的需要,而荷兰德是其中杰出的一位,他的头脑拒绝随波逐流。
荷兰德喜欢上了他所听到的消息。“这就是说要开设生物学、语言学、心理学这类非常艰难的课程和信息理论这样的常规性课程。这些课程是由来自那一个学科领域的教授来上,这样学生们就能将所学知识和他们的计算机模型联系起来。通过学习这些课程,学生们就会非常深刻地理解这个领域的根本——其难点和问题,为什么这些问题如此难以解决,计算机在解决这些问题上能起到什么作用,等等。他们就不会对事物仅仅只是流于表面的了解。”
荷兰德喜欢这个主意更因为他已经对数学完全失去了兴趣。密西根大学数学系就像二次世界大战之后的所有数学组织一样,被法国波巴科学派(Bourbaki school)所控制,这个学派鼓吹数学非人的纯洁性和抽象性。按照波巴科的标准,就连阐述你的原理后面的概念、用实在的图式解释你的定理,也会被认为是粗俗不堪。荷兰德说:“这一派的理念就是要让人们知道数学是可以不用任何解释的。”但这完全不是荷兰德来这儿攻读博士学位的目的。他希望用数学来理解这个世界。
所以当勃克斯建议荷兰德转入通讯科学研究项目时,他毫不犹豫地同意了。他放弃了他几近完成的数学博士论文,再次从头开始。“这意味着,我可以在一个与我希望从事的研究非常接近的领域做我的博士论文。”他说。这个领域,大致上说,就是神经网络(具有讽刺意味的是,他最终决定做的博士论文题目,“逻辑网中的循环”,是对网络开关内部情形的分析。在这篇论文中,他证明的许多定理,与四年以后柏克莱大学一位名叫斯图亚特.考夫曼的年轻的医学院学生独自努力证明的定理如出一辙)。荷兰德于1959年获得博士学位,这是通讯科学项目授予的第一个博士学位。
所有这些都没有改变荷兰德对更为广泛的问题的关注,正是这种关注把荷兰德带到了密西根大学。恰好相反,勃克斯的通讯科学项目正好提供了一个能使这种问题滋生的环境。什么是涌现?什么是思考?思想是如何进行的?什么是思想的法则?一个系统的适应究竟意味着什么?荷兰德记下了对这些问题的一些思考,然后把它们系统地归类为Glasperlenspiel 1号、Glasperlenspiel 2号、等等。
Glas什么?“Das Glasperlenspiel”是赫尔曼.黑塞(Herman Hesse)的最后一本小说,出版于1943年,当时作者正流亡瑞士。一天荷兰德在同屋从图书馆借来的一堆书中发现了这本书。在德语中,书名的书面意义是“玻璃珠游戏”,但在英文译文中,这本书通常被称为“游戏高手”,在意大利译文中也是相同的意思。故事以很久以后的未来为背景,小说描述了一个起初是音乐家玩的游戏。这个游戏是先在玻璃珠算盘上设定一个主旋律,然后通过来回拨弄玻璃珠,把这个主旋律的所有多声部和变奏编在一起。随着时间的延续,这个游戏从最初简单的旋律演变成一种极其复杂的乐器,被一群权力强大的牧师知识分子所控制。“最妙的是你能够获得主旋律的组合。”荷兰德说。“有一点儿星相学、有一点儿中国历史、还有一点儿数学。然后力图把它们发展成一种音乐主旋律。”
他说,当然,黑塞并没有十分清晰地说明这些究竟是怎么弄出来的。但荷兰德并不介意这一点。玻璃珠游戏比他所看见和听到过的任何事物都能抓住他的心,就像国际象棋、科学、计算机和大脑一样令他着迷。形象地说,这个游戏正是他一生的追求:“我就是希望能够抓住世界万物的主旋律,然后把它们揉合在一起,看它们会发生什么情况。”他说。
存储在Glasperlenspiel档案库中的思想的一个特别丰富的源泉是另一本书。有一天荷兰德在数学系图书馆创览群书时,发现了费舍尔(R.A.Fisher)1929年出版的里程碑式的巨著《自然选择之基因理论》。
起初荷兰德根为之着迷。“从中学时代起我就一直很喜欢阅读基因和进化方面的书,”他说。每一代人都会重组父母遗传的基因,他对这个思想非常赞赏。你可以计算像蓝眼睛、黑头发这样的特性出现在下一代身上有多么经常。“我总是想,哇,这个计算真是干净利落。但读了费舍尔的书后我第一次认识到,在这个领域里,除了用平常的代数学以外还可以尝试别的东西。”确实,费舍尔就用了许多更加复杂的概念,从微分、积分到概率理论。他的书用真正严谨细致的数学方法对自然选择如何改变了基因分布做了分析。对生物学家来说,这样的书是第一本。这同时也给当代“新达尔文”的进化理论奠定了基石。二十五年之后,这一理论仍然代表了进化动力学理论的最高标准。
所以荷兰德一口气读完了这本书。“我可以把我在数学课上学的积分、微分方程和其他方法都用于动力基因学的这场革命了。这真是一本令人大开眼界的书。我一读到这本书就知道,我不会放过这书里的思想。我知道我必须用这本书里的思想做点什么,我脑子里一直转着这些想法,不断地做着笔记。”
但尽管荷兰德非常崇拜费舍尔的数学,但费舍尔运用数学的某种方法却使他感到困惑。而且他越是深思,越是感到困惑。
首先,费舍尔对自然选择的整个分析着重于一次一个基因的进化,仿佛每一个单个基因对生物体生存的作用是可以完全脱离其他基因而独立存在的。大致地说,费舍尔假设基因的行动完全是线性的。“我知道这肯定是错的。”荷兰德说。对绿眼睛来说,没有几十个、或几百个基因形成绿眼睛的特别结构,单个的绿眼睛基因是微不足道的。荷兰德认识到,每一个基因必须作为一部分才能发挥作用。任何理论如果不把这个事实包括进去,就缺少了进化这个故事中最关键的一部分。对这个问题的思考,正是希伯在精神领域研究中一直强调的。从思想的最基本的单位这一点来说,希伯的细胞集合有点儿像基因。一种声调、一束光线、一簇肌肉的抽动,所有这些能具有意义的唯一方式是把彼此组合成更大的概念和更复杂的行为。
另外,费舍尔一直在谈论进化能达到稳定的均衡,这也使荷兰德感到不解。在这种稳定的均衡状态中,物种的大小达到了理想化、牙齿的锐利程度达到了理想化、生存和繁衍能力也达到了理想化。费舍尔的观点和经济学家的经济均衡的定义基本上是一致的:他说,当一个物种的状况达到了最佳程度之后,任何变化都会降低这种最佳化程度。所以自然选择就无法对变化形成进一步的压力。“费舍尔理论中的大部分内容在强调这样一种观点:‘好吧,由于下述进程,这个系统会走入哈迪-温伯格(Hardy-Weinberg)的均衡状态……’但这在我听起来不像是进化论。”
他又重读了达尔文和赫伯。不,费舍尔关于均衡的概念与进化论毫不相干。费舍尔似乎在谈论某种原始而永恒的完美境界的实现。“但在达尔文那里,事物随着时间的推移越变越宽广,越变越多样化。但费舍尔的数学并不触及这一点。而赫伯说的是学习,不是进化,其道理却是同样的:人的头脑随着不断从外界吸取经验,越变越丰富、越变越灵巧、越变越令人惊异。”
对荷兰德来说,进化和学习似乎与游戏非常相似。他认为,在这两种情况中,都有一个作用者在与自己的环境对抗,为自己的继续发展争取足够的条件。在进化中,所获报酬就是生存,一个让作用者将基因遗传给下一代的机会。在学习中,所获是某种奖赏,比如食物、愉悦的感觉或情感的满足。在这两种情况下,所获(或所缺)都是给予作用者的一种反馈,以利于它们改进自我表现:如果作用者想获得使自己“适应”的能力,就不得不采取能够获得丰厚报酬的策略,放弃其它策略。
荷兰德不禁想起塞缪尔的跳棋下法程序,这个程序正是利用了这种反馈:它可以随着不断吸取经验和更多地了解对方而经常改变战术。但现在荷兰德开始认识到塞缪尔将注意力放在游戏上是多么具有先见之明了。游戏的这一相似性似乎可以解释任何适应性系统。在经济中,所获是金钱,在政治中,所获是选票,等等。在某种程度上,所有这些适应性系统在根本上都是一样的,这反过来又意味着,所有这些系统从根本上就像下跳棋或象棋一样:可能性的空间大得难以想象。一个作用者不断改进下棋技术,这便是适应。但要想寻找到这场游戏的最佳化和稳定的均衡点,就好比下国际象棋一样,你根本就无法穷尽其无限的可能性。
毫不奇怪,对荷兰德来说,“均衡”并不是进化,甚至不像是他们三个十四岁的男孩一起在地下室玩的那种战争游戏。均衡意味着结束。但对荷兰德来说,进化的实质是旅程,是无穷无尽地展现出来的惊异。“我越来越清楚地认识到,我所想了解、所好奇、所为之发现而欢欣鼓舞的是什么。均衡并非其中的一部分。”
荷兰德在撰写博士论文的时候,暂时把这些想法搁置一旁。但1959年他刚刚毕业——那时勃克斯已经邀请他继续留在计算机逻辑小组做博士后——就决定将自己的这些想法变为完整而严谨的适应性理论。他说:“我相信如果我将基因的适应性当作最长久的适应性来观察,把神经系统当作最短期的适应性来观察,那么,这两者之间的总体性理论框架将是相同的。”为了将他脑子里的这些初步想法陈述清楚,他甚至就这个研究课题写了一个宣言,这份他于1961年7月发表的长达四十八页的技术报告的题目是:《适应性系统逻辑理论之非正式描述》。
他在计算机逻辑小组发现了许多紧皱的眉头。但这并不是一种敌意,而是有些人认为他的这个一般性的适应性理论听起来太稀奇古怪了。难道荷兰德不能把时间花在更富有成果的研究上?
“但问题在于,这是一个古怪的想法吗?”荷兰德回忆此事时愉快地承认,如果他在他同事的位置上,他也会对此持怀疑态度。“我所从事的研究不属于既完善又为人熟知的学科范畴。它既不能算硬件,也不能算软件。而那时它当然也不属于人工智能。所以你无法用任何常规标准来对它做出判断。”
勃克斯却并不需要他来说服。“我支持荷兰德,”勃克斯说。“有一些逻辑学家们认为荷兰德的研究并不属于‘计算机逻辑’范畴之内。他们的思想更为传统,但我告诉他们,这正是我们需要做的,为这个项目争取经费的重要性和其他项目等同。”结果勃克斯赢了:作为这个项目的创始人和带头人,他的话有相当大的分量。渐渐地,对荷兰德研究的怀疑消失了。1964年,在勃克斯的大力推荐下,荷兰德获得了终身教职。他说:“那些年,在很大程度上我全靠勃克斯为我做挡箭牌。”
确实,勃克斯的支持所给予荷兰德的安全感使他能够力争获取适应性理论的研究成果。到1962年,他放下了他的所有其它研究项目,基本上全力投入了对适应性理论的研究。特别是他下决心解决基于多基因的选择的难题——这不仅仅是因为费舍尔在书中对单体基因的假设最使他感到困惑,同时也是因为对多基因的研究也是摆脱均衡的困惑的关键。
荷兰德说,公平地评价费舍尔,均衡的概念就每个单独的基因而言不无意义。比如,假设某个物种有一千个基因,大致上与海藻一样复杂。为了使事情简单明了,再假定每个基因只含有两种信息,绿色的或棕色的,叶片皱折的或叶片平滑的,等等。自然选择要经过多少次尝试才能发现使海藻发展到最强壮的那组基因搭配呢?
荷兰德说,如果假设所有基因都是相互独立的,那么,你只需要两次选择就能确定哪种基因信息更好。这就需要对一千个基因各做两次尝试,总共两千次,这不算太多。事实上,相对而言这个数目实在是太小了,如果是这样的话,海藻很快就会达到最强健的状况,而物种确实就能达到进化的均衡点。
但当我们假设基因并不是相互独立的,让我们来看看含有一千个基因的海藻会发生什么样的情形。如果是为达到最强壮状态,自然选择就会检验每一个可能的基因组合。因为每个基因组合都有其不同的强健性。当你计算基因组合的总数,就不是二乘以一千,而是二自乘一千次了,即二的一千次方,或大约为十的三百次方——这个数目大得甚至使跳棋的步数都显得微不足道。荷兰德说:“进化甚至根本就不可能做这么多次数的尝试。而且无论我们把计算机发展到多先进也做不到。”确实,就算在可观察到的宇宙中所有的基本粒子都变成超级计算机,从大爆炸就开始不停地运算,也远不能完成运算。另外必须记住,这还只是就海藻而言。人类和其它哺乳类动物含有的基因数大概是海藻含有基因数的一百倍,而且大多数基因都含有不止两条信息。
所以再次出现了这种情形:这是一个向着无穷无尽的可能性的空间探索的系统,不存在哪怕为一个基因找到“最佳”点的现实希望。进化所能达到的是不断改进,而绝非尽善尽美。但这当然正是他1962年就已经决意要找到回答的问题。但如何寻找答案呢?了解多种基因进化的问题显然不只是用多变量方程式来替代费舍尔的单一变量方程式这么简单的事。荷兰德想知道的是,进化是怎样于无穷无尽的可能性的探索中找到有用的基因组合,而不需要搜遍整个领域。
当时,相似的“可能性爆炸”概念已经为主流人工智能研究人员所熟知。比如,在匹兹堡卡内基理工学院(即现在的卡内基麦伦大学),爱伦.妞威尔(Allem Newell)和赫伯特.西蒙(Herbert Simon)自五十年代中期开始就在进行一项里程碑式的研究,即,研究人类如何解决问题。纽威尔和西蒙让被试验对象猜各种谜语和玩各种游戏,包括下国际象棋,并让被实验对象陈述在这个过程中自己的思想。他们通过这种方法发现,人类解决问题总是会涉及脑力对广阔的可能性“问题空间”的逐步搜索,而每一步都以实际经验为导向:“如果情况是这样的话,那么就该采取那个步骤。”纽威尔和西蒙通过将他们的理论编入“一般问题解决法”(General Problem Solver)程序和将这个程序应用于解那些谜语和游戏,表明“问题-空间”角度能够出色地反映人类的推理风格。确实,他们的经验性检索概念早已成为人工智能领域的金科玉律。一般问题解决法至今仍然是新兴的人工智能发展史上最有影响的程序之一。
但荷兰德仍然对此半信半疑。这并不是因为他认为纽威尔和西蒙对问题空间和经验导向的概念有什么错误。事实上,他取得博士学位不久就特意邀请他们两位来密西根大学讲授人工智能的主课。从此他和纽威尔成了朋友和知识上的伙伴。但纽威尔-西蒙的理论不能在生物进化研究上有助于他。进化论的整个慨念中没有任何经验可循,也没有任何导向。一代代的物种是通过突变和两性基因的随机重组,简言之,是通过尝试和错误,探索于可能性的空间。而且,这一代代物种并不采取逐步逐步的方式搜索于基因组合的可能性之中,而是采取齐头并进的搜索方式:物群中的每一个成员的基因组合都略有不同,所搜索的空间也略有不同。但尽管有这些不同之处,尽管进化的时间更为长久,但它所产生的创意和奇迹恰如脑力活动。对荷兰德本说,这意味着,适应性的真正的统一规律隐藏在更深的层次之中。但到底隐藏在哪儿呢?
起初,只有直觉告诉他,某些基因组之间能够很好地相互作用,形成统一而自我强化的整体。比如像能够告诉细胞如何从葡萄糖分子里吸取能量的基因群,或能够控制细胞分裂的基因群,或能够指导细胞如何与其它细胞组合成某种生理组织的基因群。荷兰德也能从希伯的大脑理论中看到某种相似之处。在这个理论中,一组相互共鸣的细胞集合能够形成一个统一的概念,比如“汽车”,或者一个像举起胳臂这样协调的动作。
但是,荷兰德越是思考统一而自我加强的基因群这个概念,整桩事就越显得微妙。首先,到处都有类似的例子,比如计算机程序中的子程序、官僚体系中的部门。以及国际象棋棋局中的布棋法。而且,这样的例子存在于组织的每一层。如果一个基因群有足够的统一性和稳定性,那么这个基因群通常就可以作为更大的基因群的建设砖块。细胞的结合形成生理组织、生理组织的结合形成器官、器官的组合形成生物体、生物体的组合形成生态系统,等等。荷兰德想,确实,这就是“涌现”的全部意义:一个层次上的建设砖块组合成更高层次上的建设砖块。这似乎是这个世界最根本的规律之一。这一规律当然也表现在所有复杂的适应性系统之中。
但为什么会是这样的呢?事物的这个等级分明的。建设砖块结构的特性就像空气一样司空见惯。它因无所不在而被我们视而不见。但当你认真思考这个问题时,就会发现它急需解释:为什么这个世界会形成这种结构呢?
其实对此已有许多解释。计算机程序员们会把问题分解成许多于程序,因为较小、较简单的问题比较大、较繁杂的问题易于解开。这就是分而治之的古老法则。鲸鱼和红杉这样的庞然大物是由无数个微小的细胞组成的,因为总是先要有细胞,才可能形成庞然大物。当五亿七千万年前巨大的动植物开始出现在地球上时,对自然选择法来说,较之于从一片混乱无序中重新开始形成大团新的原生质,显然不如将现存的单一细胞形成生物体要容易得多。通用汽车公司将自己分为无数个部门和子部门,是因为通用汽车公司的主管不希望公司的五十万名雇员都直接来向他报告。他一天根本没这么多的时间。事实上,在四十年代和五十年代,西蒙在他的商业组织的研究中就已经指出过,设计优良的等级制度是在避免让任何一个人疲于应付会议和备忘录的前提下实施实际工作的最佳方式。
但当荷兰德思考这个问题时,他越来越觉得,更为重要的理由还基于更深的层次,因为这个等级分明的建设砖块结构能够彻底改变系统的学习、进化和适应能力。想一下我们的认知建设砖块,这包含了像红色、汽车和道路这类的概念。一旦这组类别的建设砖块随着经验的积累而被扭转、精炼和调整,那么,这组概念就会被整个改编和重组成许多新的慨念,比如像“路边的一辆红色Saab轿车”。当然,较之完全从头开始,这是一个有效得多的创新的途径,而这反过来又在总体上意味着适应性的一个全新的机制。适应性系统能够重组它的建设砖块,从而产生巨大的飞跃,而不需要总是要逐步逐步地在可能性的无限空间中缓慢进展。
在这个方面,荷兰德最喜欢举的例子是计算机出现之前警方根据目击者的描述来绘出嫌疑犯的画像的办法,即,把嫌疑犯的面孔分为十个基本区域:发际线、前额、眼睛、鼻子,一直到下颚。然后绘像师在许多纸片上对各个部位做不同形状的绘画,比如说,十种鼻子、十种发际线、等等。这加起来就是一百张纸的给像。有了这些之后,绘像师就可以通过目击者的描述,把合适的部分凑在一起,很快得出嫌疑犯的肖像图。当然,绘像师无法用这种办法画出所有可能想象出来的面孔。但他或她总是能够得到近似的肖像:绘像师通过重组这一百张纸片可以得出一百亿张不同的面孔,足够从广大的可能性空间中找到相似的相貌。“所以如果我能够发现形成建设砖块的过程,这些组合就能为我所用,而不会成为我的障碍。我就能够用相对少的建设砖块描述出许许多多的复杂事物。”
他认识到,这就是解开多基因之谜的关键之所在。“进化过程中的放弃和尝试并不只是为形成一个优良的动物,而是在于发现优良的建设砖块,并将这些建设砖块结合在一起,从而产生许多优良的动物。”他现在面临的挑战是要精确而严谨地表明这一切是如何发生的。他决定,第一步是要做一个计算机模拟,一个既能够陈述过程、又能够帮助他澄清脑子里的问题的“基因算法”。
密西根大学计算机科学圈子里的人都看惯了荷兰德拿着折扇状的计算机打印结果跑过来。
“看看这个!”他会急煎煎地指着一张整页都是密密麻麻的十六进位的数据符号的纸说。
“哦,CCB1095E。太棒了,约翰。”
“不!不!你知道这是什么意思吗!?”
事实上,在六十年代初,有相当多的人并不知道,也想不出那些数据表示什么意思。对荷兰德持怀疑态度的同事们对于荷兰德所从事的研究的怀疑,至少在一点是对的:荷兰德最终推出的基因算法是个稀奇古怪的东西。除非从最为书面的意义而论。否则这根本不能算是计算机程序。就它的内部机制而言,它更像是一个模拟生态系统,其中所有的程序都可以相互竞争、相互交配、一代接一代地繁衍,一直朝着程序员设置的任何问题的解答方向不断演化。
说得轻一点,这不是程序的通常编写法。所以荷兰德发现,要向同事们解释为什么这具有意义,最好用非常实际的语言来告诉他们他正在做什么。他通常会告诉他们,我们把计算机编程当作一个由FORTRAN或LISP这样的特殊编程语言写成的一系列指令。确实,编程的全部技艺就在于确保准确无误地按照正确的指示和顺序来编写程序。这显然是编程的最有效的方法——如果你早就知道你想让计算机干什么的话。但假设你并不知道你想让计算机干什么,比如假设你想找到某种复杂的数学功能的最大价值。功能可以表示利润、或工厂的产量。或任何其它东西。这个世界到处都有希望价值被最大化的东西。确实,计算机程序员已经为此设计出先进的计算机算法来了。但即使是其中最优秀的算法都无法保证在任何情况下都能提供正确的最大化价值。在某种层次上,这些算法总是不得不依赖传统的尝试/错误法,也就是猜测法。
荷兰德对他的同事们说,如果情况真是这样的话,如果你反正总是要依赖尝试/错误法的话,也许就值得试试利用大自然的尝试/错误法则,也就是自然选择法。与其编一个程序来执行你自己都不知道该如何定义的任务,还不如让它们通过进化自然产生。
基因算法便是这样的一个方法。荷兰德说,如果想看它怎样发生作用,那就忘记FORTRAN编码,深入到计算机的内核里去。计算机程序在计算机上是以一列1或0的二进制来表示的:11010011110001100100010100111011……在这种形式下,计算机程序看上去像是一大片染色体。每一个二进制数字都是一个单独的“基因”。一旦你用生物学眼光来思考二进制编码,你就可以用类似的生物方法使之进化。
荷兰德说,首先,让计算机产生一群数量约为100个数字的染色体,其中包含大量的随机变量。假设每一个染色体都相对应一群斑马中的一匹(这是为使事情简化之故。因为荷兰德试图把握进化的最基本的本质,所以在基因算法中舍弃了诸如马蹄、胃和脑这样的细节,而把个体当作单个的纯DNA来模拟。而且,为了使之更便于操作,他把二进制的染色体限制在长度不超过几十个二进制数字之内,所以这些染色体实际上并不是完整的程序,而只是程序的片断。事实上,在他最初的实验中,这些染色体只代表单一的变量。但这并不能改编这个算法的基本原则)。
第二,把现有的问题当作每一单个的染色体,把问题当作计算机程序来运作,用这种方法来进行测试。然后,评价它的运行好坏,给它打个分。从生物学的角度来看,这个分数将评判出个体的“强健”程度,也就是它繁殖成功的概率。个体的强健程度越高,被基因算法选择出来,得以将自己的基因遗传给下一代的机会就越大。
第三,将你所选择的个体当作具有足够繁殖能力的染色体,使它们相互交配,从而繁衍新的一代。让剩余的染色体自行消亡。当然,在实际操作时,基因算法舍弃了两性的差异、求偶礼仪、性爱动作、精子和卵子的结合,以及两性繁衍的所有复杂细节,而只是通过赤裸裸的基因材料的交换繁衍下一代。如果用图解来表示的话,基因算法选择了有ABCDEFG的染色体和有abcdefg染色体的一对个体,随意在中间切断它们的染色体序列,然后将双方染色体相互交换,形成对它们的一对后代的染色体: ABCDefg和abCdEFG(真正的染色体经常会发生这种交换,或交叉,荷兰德从中得到启发)。
最后,通过这种基因交换繁衍出来的下一代之间又会继续相互竞争,同时在新一代的循环中,与它们的父母也发生竞争。这无论是对基因算法来说,还是对达尔文的自然选择法来说,都是最关键的一环。没有两性之间的基因交换,新的一代就会完全像他们的父母一样,物种的发展就会进入停滞状态。低劣的物种会自然消亡,但优良的物种也决不会发生任何改良。但有了两性之间的基因交换,新一代就会相似于它们的父母,但又有所不同,有时会比它们的父母强些。当发生这种情形的时候,被改良的物种就会获得普及的大好机会,从而显著地改良自己所属的整个物种群。自然选择法提供了一种向上进取的机制。
当然,在真正的生物体中,相当大一部分的变量是由于突变、遗传密码的排版错误所致。事实上,基因算法确实也允许通过故意将1改变为0,或把0改为1而产生一些偶然的突变。但对荷兰德来说,基因算法的核心是两性交换。不仅仅是因为两性的基因交换给物种提供了变量,而且这同时也是一个极好的机制,通过这个机制可以寻索到能够相互密切配合,产生高于一般水平的强健的基因群,也就是建设砖块。
比如,你将基因算法用于解其中一个最佳化的问题。这是个为某种复杂功能寻找最大价值的方式的问题。假设当基因算法的内在数群中的数字染色体达到二进制基因的某种模型时,比如像11####11#10###10,或##1001###11101##,获得了很高的分数(荷兰德用#来表示“没有关系”。数字处于这个位置可以是0,也可以是1)。他说,这种模型就具有建设砖块的功能。也许它们凑巧表示的是变量的范围,在这些范围中,其功能确实具有超常的高价值。但不管是什么原因,含有这种建设砖块的染色体都会繁荣发展,并普及于整个物种,从而取代那些不含有这类建设砖块的染色体。
另外,既然两性繁衍使数字染色体能够在每一代都重组它们的基因材料,那么物种就会经常产生新的建设砖块和现有建设砖块的新组合,这样基因算法就会很快产生具有双倍和三倍优势的建设砖块。而如果这些建设砖块的组合又产生出更大的优势,那么具有这些优秀建设砖块的个体特色就会比以往更快地普及于整个物种。结果就是,这个基因算法会很快指向现有问题的答案,即使事先并不知道从哪儿寻找答案。
荷兰德记得当他在六十年代初刚发现这一点时感到非常激动。但他的听众却从未为此而欢欣鼓舞。那时候,在尚属新兴的计算机科学领域里,大多数计算机科学家都感到,在常规性编程方面尚有大量的基础研究要做。从纯粹实际的角度来说,演化一个程序的概念显得不着边际。但荷兰德不在乎这些。这正是他自决心要发展费舍尔的独立基因假设以来一直苦苦探索所获得的成果。繁殖和交叉为基因的建设砖块提供了涌现和共同演化的机制,同时又是物种个体高效率地探索于可能性空间的机制。事实上,到六十年代中期,荷兰德已经证明了基因算法的基本定理,他称其为图解定理:在繁衍、交叉和突变之中,几乎所有具有超常强健性的紧密基因群都能够在物种中成指数比例地发展。(荷兰德所说的“图解”,是指任何特定的基因模型。)
他说:“当我最终将图示定理发展到令我满意的地步后,我才开始着手写书。”
精神的涌现
荷兰德原来以为能够在一两年内完成一本书,一本关于图解定理、基因算法、以及他对适应性的总的思考的汇编。但事实上,这本书的出版耗费了他十年的时间。他的撰写和研究一直是齐头并进,他不断有新的想法需要探索,或理论上有新的方面需要分析。他指派他指导下的好几个研究生去做计算机实验,也就是证实基因算法是否真正有用、是否是一个解决最优化问题的有效办法。荷兰德觉得他这是同时在提出和实践他的适应性理论,他希望做得准确无误,既深入细致、又精确严谨。
他无疑做到了这一点。1975年出版的《自然和人工系统中的适应性》一书罗列了大量的方程式和分析。该书总结了荷兰德二十年来对学习、进化和创造性之间深刻的内在关联的思考,对基因算法做了周密的陈述。
荷兰德的研究成果并没有在密西根大学之外更广泛的计算机科学世界里引起任何反响。对那些喜欢优雅、简明和被证明是正确的算法的人来说,荷兰德的基因算法太离奇古怪了。人工智能圈子对荷兰德的基因算法研究反应较为热烈。在这个圈子里,他的书的年销量可达一百至二百本。但即使如此,即使对他的书偶有评论,最多不过是“约翰是个极聪明的人,但……”这类话。
当然,荷兰德并没有力陈他的观点。他只发表了一些论文,相对而言他发表的论文很少,只是在有人邀请他时才去作演讲,仅此而已。他并没有在重大的学术会议上大肆渲染基因算法,没有将基因算法用于医学诊断这类能够争取到研究资金、吸引注意力的热门应用领域,没有去争取巨额投资来创建基因算法“实验室”,也没有出版一本畅销书来呼吁为对付日本的威胁,采用基因算法来调配联邦基金已迫在眉睫。
总之,他根本就没有玩那套学术界自我推销的把戏,这似乎不是他喜欢玩的游戏。更确切地说,他并不真的介意他是赢是输。打个比喻,他仍然情愿和他的小伙伴们一起混在地下室里做游戏。荷兰德说:“这就好比是打棒球,只不过你参加了非主力队,而没有参加主力队。但重要的是打棒球的乐趣,而不是参加哪个队。我所从事的科学对我而言总是其乐无穷的。”
“我觉得如果没人愿意听我说,会使我很烦恼。但我总是非常幸运,总是有既聪明、又对我的研究课题兴致勃勃的研究生与我产生思想上的共鸣。”
这确实从一个侧面反应了他和少年伙伴在地下室做游戏的态度:在密西根大学,荷兰德将极大的精力放在了和他最直接的圈子里的伙伴共同工作之上了。尤其是在任何时候他手下都有六七个研究生,远远超过通常导师指导研究生的数额。事实上,从六十年代中期开始,他所指导的研究生每年都有不止一个人获得博士学位。
“他们中有些人确实绝顶聪明,与他们相处给我带来了很大的乐趣。”他说。荷兰德看到有太多教授累计了长长的论文名单,其实这些论文都是他们和他们所指导的研究生共同研究的成果,甚至完全是由他们的学生写的。所以他故意用相当放手的方式对研究生进行指导。“他们都按照自己的想法进行研究,做他们自己感兴趣的事。然后我们所有的人每周一次围聚在桌旁,其中有一个人就会告诉大家他的论文已经进行到什么程度了,我们大家就会就此展开批评和讨论。这对所有介入者来说都充满了乐趣。”
七十年代中期,荷兰德和学部里一群志同道合的同事开始了每周一次的自由讨论,讨论任何有关进化和适应性的问题。这群人里除了有勃克斯之外,还有政治科学家罗伯特.爱克思罗德(Robert Axelrod)。罗伯特力图想理解人们为什么和什么时候会相互合作,而不再相互在背后涌刀子。另外还有专攻人类组织的社会动力学的政治科学家米歇尔.考亨(Michael Cohen)和威廉.汉密尔顿(WilliamHamilton)。威廉是一位进化生物学家,和爱克思罗德一起研究共生、社会行为和其他形式的生物合作。
“麦克.科恩(Mike Cohen)是个中介人。”荷兰德回忆说。在他的适应性一书刚出版不久,科恩来旁听他的课。有一天课后他走过来对荷兰德介绍自己,并说:“你真应该去和爱克思罗德谈谈。”荷兰德就照做了。通过爱克思罗德,他又结识了汉密尔顿。很快,BACH小组的人,勃克斯、爱克思罗德、科恩、汉密尔顿就携手联合了。(BACH是由他们四个人名字的头一个字母组成。他们几乎经常一起工作。在小组成立伊始,他们就想把斯图尔特.考夫曼网罗进来,但考夫曼去了宾州大学。)“把我们联系在一起的是我们都有很强的数学背景,都强烈地感觉到进化和适应性问题比任何一个单一的问题都涉猎广泛。我们开始定期聚会:某个人会读到一篇文章,然后大家一起讨论,激发了许多探索性思考。”荷兰德说。
对荷兰德来说尤为如此。他已经完成了适应性一书,但他与BACH小组成员的讨论却涉及到书中未及涉猎、留待研究的地方。基因算法和图解定理紧紧抓住了进化的本质问题,对此他深信不疑。但即便如此,他仍然不免要遗憾,基因算法对进化的赤裸裸的解释毕竟过于简单了。他的理论把“生物体”直接当作由程序员设计出来的单纯的DNA,这样的理论一定存在缺憾。它对于在复杂环境中复杂的生物体的进化能向我们说明什么呢?什么也不能说明。基因算法相当不错,但仅仅是基因算法本身,并非包括适应性作用者。
从这个意义上来说,基因算法也不算是对人类精神适应性的模仿。因为它在计算上太生物化了,无法由此看到复杂的概念是如何在人类头脑中产生、进化和重新组合的。对荷兰德来说,这一事实使他越来越感到沮丧。从他初次听到赫伯的概念至今已有二十五年了,但他仍然坚信,精神的适应性和大自然中的适应性只不过是同类事物的两个不同的方面。而且,他仍然相信,如果它们真是同样的事情的话,它们就可以由一个同样的理论描述出来。
所以,从七十年代后期起,荷兰德就开始了对该理论的研究。
从根本上来说,一个适应性作用者经常是在和它所处的环境做游戏。而这又确切地意味着什么呢?如果剥离到本质,这对游戏的作用者的生存和发展来说,究竟会发生什么?
荷兰德认为会发生两件事:预测和反馈。这是他在IBM公司工作时他和塞缪尔谈及跳棋时洞察到的。预测正如其词意所示:想于事先。荷兰德仍然记得塞缪尔一再重复这一点。“玩好一局跳棋或象棋的本质就是将宝押在不那么明显的布局上。”也就是走出的棋路要能够使你在后来处于有利的地位。预测能够助使你抓住机会或避免堕入陷阱。一个能够想于事先的作用者显然比不能想于事先的作用者要更具有优势。
但预测的概念简直就像建设砖块的概念一样微妙。比如说,我们通常将预测当作人类有意识的、基于对世界的大致模拟之上的思考。当然有许多这类通过模拟做出的预测。超级计算机对气候的模拟就是一个例子,某公司开始一项商业计划又是一例,美国联邦储备局所做的经济规划也是一例,就连英格兰的巨石柱也是一个模拟的模型:巨石的环绕设计能让占卜牧师像用一个粗糙但有效的计算机一样来预测春分和秋分的来临。而且,各种各样模拟的模型经常就在我们的头脑里。逛商店的人极力想象新沙发摆在自家客厅里的情形,或一个胆小的雇员力图想象冒犯老板的后果。我们经常在使用这些“脑内模型”。事实上,许多心理学家都相信,有意识的思维都是基于“脑内模型”的思维。
但对荷兰德来说,预测和模拟模型的概念实际上要比有意识的思维深奥得多。从这点来说,也远比大脑的存在要深奥得多。他宣称:“所有复杂的适应性系统——经济、精神、生物体等,都能建立能让自己预测世界的模型。”就连细菌也如此。很多细菌都有特殊的诱导酶系统,这种诱导酶使它们游向葡萄糖浓度更强的方向。毫无疑问,这些诱导酶模拟了细菌世界的一个关键的方面:化学物质总是从源头向外扩散,随着离源头越来越远而浓度越来越小。诱导酶自然而然地就把这样一个明确的预测编入了基因码:如果你向浓度较高的方向游去,就可能找到有营养的东西。“这不是有意形成的模式,”荷兰德说。“但遵循这个模式的生物要比不遵循这个模式的生物更具优势。”
荷兰德说,这对美洲繁色瑞蝴蝶(viceroy butterfly)也同样。这种蝴蝶是有着醒目的橘黄色和黑色的昆虫。如果鸟类尝过它的味道的话,无疑会对它垂涎三尺。但鸟类很少捕食这种蝴蝶,因为它们的翅膀的花纹演变得很像所有幼鸟都避之不及的味道难吃的王蝶(monarch butterfly)。因此就发生了这样的情况:繁色瑞蝴蝶的DNA上编码了一个模型,这个模型模拟的世界中有鸟类、有王蝶、以及王蝶味道难吃。每天繁色瑞蝴蝶在花丛中飞来飞去,无疑是在拿自己的生命做赌注,打赌它假设自己对外部世界的模拟是对的。
你还会在各种不同的生物体中发现同样的道理。荷兰德说,就拿公司来说,设想一个工厂接受一个常规定单,比如说,一万件小器具。既然这是一个常规定单,工厂职员也许就不会多想。他们只是遵循“常规的运行程序”,即一系列正式规程,来进行生产。“如果情况是ABC,那就采取XYZ行动。”就像细菌和繁色瑞蝴蝶一样。这些规程中编入了这个工厂所模拟的世界和对这个世界的预测:“如果在ABC情况下,采取XYZ行动就会产生很好的效果。”按这些规程进行生产的职员们也许知道、也许不知道有这样模拟的模型的存在。毕竟常规操作程序经常是死搬照抄学来的,没有那么多为什么可问。如果这家工厂经营已有年头了,那可能没人会记得为什么事情必须这么做。但不管怎么样,因为常规的操作程序是由集体来发展和执行的,所以整个工厂的行为就会像是完全理解这个模拟模型似的。
荷兰德说,在认知领域,任何我们称为“技术”或“专业知识”的,都是一种内含的模型,或说得更精确些,是一组长期经验积累和凝练而成的,即铭刻在神经系统的巨大而相互环扣的常规操作程序。让一位有经验的物理教师看课本练习题,他不会像个新手似的把时间浪费在抄录眼所能及的所有公式。他脑中的程序总是会立刻就告诉他解题的方案:“啊哈,这是一道能量题。”发个球给网球名将艾芙特,她不会浪费任何时间争辩这球该怎么接,她头脑中的程序会立刻就让她本能地回手接球,打你个无从招架。