饭饭TXT > 学习管理 > 《失控:全人类的最终命运和结局》作者:凯文·凯利/译者:东西文库【完结】 > ☆书香门第☆失控:全人类的最终命运和结局.txt

第十七章:开放的宇宙

作者:凯文·凯利/译者:东西文库 当前章节:15511 字 更新时间:2026-6-23 04:52

17.1 拓展生存的空间

一群蜜蜂从蜂巢里溜出来,然后聚成一团悬挂在一根树枝上。如果附近的养蜂人运气好的话,它们落脚的树枝很容易够着。此时,这些喝饱了蜂蜜又不需要看护幼蜂的蜜蜂就像瓢虫一样温顺。

我曾有过一两次将悬聚在我头部高度的蜂团移进自己的空蜂箱的经历。将上万只蜜蜂从树枝上移入蜂箱的过程可说是生活中的一场奇妙表演。

如果有邻居在看,你可以给他们露一手:在嗡嗡作响的蜂团下铺上一块白布或者一大块硬纸板。将布单一边盖在空蜂巢底部拉出的门板上,使布或硬纸板形成一个导向蜂巢入口的巨大坡道。此时,戏剧性地停一下,然后抓住树枝用力一抖。

蜂团整个儿从树上掉下来,落到布单上四下奔涌,像翻腾的黑色糖浆。成千上万只蜜蜂交叠在一起,乱哄哄地挤作一堆,嗡嗡作响。慢慢地,你会看出些眉目。蜜蜂们面向蜂巢的开口排成一行,鱼贯而入,就像是接受了同一个指令的小小机器人。它们确实收到了指令。如果你俯下身来靠近白布,将鼻子凑近蠕动的蜂群,会闻到玫瑰花似的香味。你会看见蜜蜂们一边行进,一边弓着背,猛烈地扇动着翅膀。它们正从自己的尾部喷出玫瑰香气,并把它扇到身后的队伍里。这种香气告诉后面的伙伴们:「蜂后在此,跟我来。」第二个跟着第一个,第三个跟着第二个,五分钟后,整个蜂群都钻进了蜂箱,布单上几乎空空如也。

地球上最初的生命是不可能上演这一幕的。这并非因为缺少足够的变种。早期的基因根本就没有施展这种本事的能力。用玫瑰的味道来协调上万只飞虫聚成一个目标明确的爬行怪物,这不是早期生命所能做到的。早期生命不仅还未能创造出大戏上演的舞台——工蜂、蜂后、花蜜、树、蜂巢、信息素,而且连搭建这个舞台的工具也还没有创造出来。

大自然之所以能产生令人震惊的多样性,是因为它在本质上是开放的。生命不会仅靠最早诞生的那几个基因去产生令人眼花潦乱的变化。相反,生命最早的发现之一是如何创造新的基因,更多的基因,可变的基因,以及一个更大的基因库。

博尔赫斯图书馆里的一本书含有相当于一百万个基因的信息量;而一帧高分辨率好莱坞电影画面所含信息相当于三千万个基因。由此构建的「书库」尽管堪称庞大,在由所有可能存在的书库组成的「元书库」中,它们不过是一粒尘埃。

生命的特征之一是它会不断地拓宽自身的生存空间。大自然是一个不断扩展的可能性之库,是一个开放的大千世界。生命一边从书架上抽出最不可思议的书来,一边为藏书增建厢房,为更不可思议的文本创造空间。

我们不知道生命如何突破了从固定基因空间到可变基因空间的分界线。也许某一个特殊的基因决定着染色体中基因的数量。只要使那一个基因产生变异,就可以使链中基因的总数增加或减少。也许基因组的大小是由多个基因间接决定的。或者更有可能的是,基因组的大小是由基因系统自身的结构决定的。

汤姆·雷的实验显示,在他的自我复制世界里,可变的基因长度瞬时就涌现出来了。他的创造物自行决定其基因组的长度(由此也决定了它们可能存在的基因库的规模),短至出乎他意料的22字节,长至23000字节。

开放的基因组带来开放的进化。一个预先设定了每个基因的工作或基因数量的系统只能在预先设定的范围内进化。道金斯、拉萨姆和西姆斯最初的那些系统以及俄罗斯程序员的电子鱼,都搁浅在这个局限性上。它们也许能生成所有可能的具有既定大小和深度的画面,但不能生成所有可能的艺术品。一个没有预先确定基因角色和数量的系统才能出奇制胜。这就是汤姆·雷的创造物造成轰动的原因。从理论上说,他的世界只要运行时间够长,在最终的形式库中就能进化出任意东西。

17.2 生成图像的基元组

形成开放基因组的方法不止一种。1990年,卡尔·西姆斯利用二代连接机(CM2)的超级计算能力设计了一个由长度可变基因组成的新型人工世界,比他设计的植物图像世界更为先进。西姆斯的妙招是创造一个由小方程而非长串数码组成的基因组。他原来的基因库中每个固定长度的基因各控制着植物的一个视觉参数;这个新基因库则拥有长度不定且可自由扩展的方程,籍此绘制各种曲线、色彩和形状。

西姆斯的方程——或着说基因——是一种计算机语言(LISP)[1]的小型自包含逻辑单元。每一个模块都是一个算数指令,诸如加、减、乘、余弦、正弦。西姆斯把这些单元统称为「基元组」——它们构成了一个逻辑的字母表。只要有一张恰当的逻辑字母表在手,就可以建立任何方程,就像用适当多样的语音元素表就能合成任何语音句子一样。加、乘、余弦等的相互组合能产生任何我们想得出的数学方程。既然任何形状都可以用方程来表达,这一基元字母表也就可以画出任何一种图像。增加方程的复杂性也就神奇地扩大了所生成图像的复杂性。

方程基因库还有个意外的好处。在西姆斯的原版世界(以及在汤姆·雷的「地球」和丹尼·希利斯的共同进化的寄生虫世界中),有机体是一串串每次随机转换一个数字的数码,就像博尔赫斯图书馆里的书那样,一次改变一个字母。而在西姆斯的改良版世界里,有机体成了一串串每次随机转换一个基元的逻辑基元组。仍以博尔赫斯图书馆为例的话,这次被调换的是词而不是字母。每本书里每个词的拼写都正确,每本书的每一页由此就更有实际意义。但是,对于以词为原料的博尔赫斯图书馆来说,要煮这锅汤[2]至少需要数以万计的词,而西姆斯仅用一打左右的数学基元就能列出所有可能的方程。

对逻辑单元而不是数字位元做进化,最根本的优势还在于它能马上将系统引上通往开放宇宙的大道。逻辑单元本身就是功能,而不象数字位元那样仅仅是功能的数值。在任意一个地方增加或交换一个逻辑基元,程序的整体功能就会产生转变或得到扩展,从而在系统中涌现出新功能和新事物。

而这就是西姆斯的发现。他的方程进化出全新的图像,并把它们显示到计算机屏幕上。这个新的空间是如此之丰富,使西姆斯大为震惊。由于基元组只包含逻辑部件,西姆斯的LISP字母表确保了大部分方程所绘出的图像都具有某种模式。屏幕上不会再充斥着模糊灰暗的图像,无论西姆斯「漫步」到哪里,都能看到令人惊艳的风景。「艺术」仿佛成了信手拈来之物。一开始,屏幕上布满了狂野的红色和蓝色之字形线条。下一刻,屏幕的上部点缀着黄色的斑斑点点。之后,斑点下出现一条朦胧的水平线,再接着,是重笔墨的波浪伴着蓝色的海天一线。再然后,斑点洇成毛莨花般嫩黄的圆晕。几乎每一轮画面都展现出惊人的创意。一小时内,上千张美轮美奂的图像被从其藏身之所唤起,第一次也是最后一次展现在我们面前。这好比站在世上最伟大的画家身后,观看他创作从不重复主题和风格的速描。

当西姆斯选中一幅图画,繁衍出其变种,再从中选取另一幅时,他所进化的不只是图像。撇开表象,西姆斯进化的是逻辑。一个相对较小的逻辑方程能绘制出一幅让人眼花缭乱的复杂图画。西姆斯的系统曾经进化出下面这段逻辑代码:

(cos (round (atan (log (invert y) (+ (bump (+ (round x y) y) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 1.47 8.7 3.7) (color-grad (round (+ y y) (log (invert x) (+ (invert y) (round (+ y x) (bump (warped-ifs (round y y) y 0.08 0.06 7.4 1.65 6.1 0.54 3.1 0.26 0.73 15.8 5.7 8.9 0.49 7.2 15.6 0.98) #(0.46 0.82 0.65) 0.02 #(0.1 0.06 0.1) #(0.99 0.06 0.41) 0.83 8.7 2.6))))) 3.1 6.8 #(0.95 0.7 0.59) 0.57))) #(0.17 0.08 0.75) 0.37) (vector y 0.09 (cos (round y y)))))

这个方程在西姆斯的彩色屏幕上绘出了一幅引人注目的图画:北极的落日余辉映照在两根冰柱上,冰柱晶莹剔透;远方的地平线淡然而宁静。这可堪比一个业余画家的大作哩。西姆斯告诉我说:「这个方程的进化从头到尾仅用了几分钟时间——如果是人类有意为之的话,可比这个费功夫多了。」

但是西姆斯却无从解释方程背后的逻辑以及它为何会绘出一幅冰的图画。在这个方程面前,西姆斯和我们一样茫然无知。方程所隐藏的逻辑已经无法用简单明了的数学来破解。

LISP语言:LISP是List Processing的缩写,即表处理语言,诞生于二十世纪六十年代左右。表(list)是LISP语言中求值和运算的基本单位。由于LISP语言建立在递归逻辑的基础上,形式化程度很高,适合于符号运算和问题求解,至今仍是人工智能最常用的语言之一。

汤(Soup):在英语中有alphabet soup的用法,用于指一种用字母状面团作汤料的汤。可查的说法有二:一是说此汤是父母为鼓励儿童学字而做,喝汤的儿童可以把汤内的字母随意组合,从而能学到词汇;二是指在网上遇到的需要处理的一大堆杂乱字母戏称为「字母汤」。此外,在生命起源的问题上经常将产生生命的初始状态(科学家推测,生命起源于呈混合溶液状态的物质「汤」)称为汤。

17.3 无心插柳柳成荫

真正开始将逻辑程序的进化从理论付诸实践的是约翰·柯扎。他是斯坦福大学计算机科学系的教授,约翰·霍兰德的学生。他和霍兰德的另外几个学生一起使六、七十年代一度被冷落的霍兰德遗传算法重放光芒,进入到八十年代末并行算法的复兴时期。

与「艺术家」西姆斯不同,柯扎并不满足于单纯地探索可能之方程的空间,他想进化出能够解决特定问题的最佳方程。举个牵强一点的例子,假设在所有可能的图像中有一幅图会吸引奶牛凝视它,并由此提高产奶量。柯扎的方法就可以进化出能绘制这一特定图像的方程。在这个例子中,柯扎会对那些所绘图像哪怕只是轻微增加产奶量的方程给予赏奖,直至牛奶产量无法再得到提高。当然,柯扎所选的问题要比这实际得多,譬如,找出一个能操纵机器人移动的方程。

但从某种意义上来说,他的搜索方式与西姆斯以及其他研究者的相似。他也在由可能存在的计算机程序组成的博尔赫斯图书馆内搜寻——只不过不是毫无目的地东瞧瞧西看看,而是去寻找解决特定实际问题的最佳方程。柯扎在《遗传编程》[1]一书中写道:「这些问题的求解过程可以重新表述为在可能存在的计算机程序中搜索最合适的单个计算机程序。」

柯扎通过繁衍「找到」方程的想法之所以被认为有悖常理,和计算机专家对雷的进化方案嗤之以鼻的理由是一样的。过去,人人都「知道」逻辑程序是脆弱的,不能容忍任何变动。计算机科学理论中,程序只有两种状态:(1)无故障运行;(2)修改后运行失败。第三种状态——随机修改后还能运行——是不可能的。程序轻度出轨被称为程序漏洞,这是人们耗费大量财力试图避免的。专家们过去认为,如果计算机方程渐进式改良(进化)真有可能的话,也肯定只会出现在少数罕见领域或专门类型的程序中。

然而,人工进化的研究成果出乎意料地表明,传统观点大错特错了。西姆斯、雷和柯扎都有绝妙的证据来证明,逻辑程序是可以通过渐进式改良进化的。

柯扎的方法基于一种直观判断,即如果两个数学方程在解决一个问题时多少有些效果,那么它们的某些部分就是有价值的。如果这两者有价值的部分能被重新整合成一个新程序,其结果可能比两个母程序中的任何一个都更有效。柯扎数千次地随机重组两个母程序的各个部分,希望从概率上讲,这些组合中能包含一个程序,对母程序中有价值的部分做了最优安排,因而能更好地解决问题。

柯扎的方法和西姆斯的有很多相似之处。柯扎的「数据培养液」也含有大约一打用LISP语言表达的数学基元,诸如加、乘、余弦。这些基元随机串在一起形成一棵棵逻辑「树」——一种形似计算机流程图的层次结构。柯扎的系统像繁殖人口一样创建了500到10000个不同的独立逻辑树。「数据培养液」通常在繁衍了大约50代之后收敛到某个合适的后代身上。

树与树之间交换分枝迫使它们产生变种。有时嫁接的是一根长树枝,有时仅仅是一根细枝或枝头的「叶子」。每根树枝都可以被看作是由更小的分枝构成的完整无缺的逻辑子程序。通过分枝交换,一小段方程(一根树枝),或一个有用的小程序,可以得到保存甚至传播。

通过方程进化能解决形形色色的古怪问题。柯扎用它来解决的一个经典难题是如何让一根扫把立在滑板上。滑板必须在马达的推动下来回移动,使倒立的扫帚在板中央保持直立。马达控制的计算量惊人,但在控制电路上与操纵机器人手臂的电路并无多大区别。柯扎发现,他可以进化出一个程序来实现这种控制。

被他用来测试方程进化的问题还有:走出迷宫的策略;二次方程的求解方法;优化连接众多城市最短路径的方法(又称为旅行商问题);在tic-tac-toe[2]一类简单游戏中胜出的策略。在每个例子中,柯扎的系统每次都会去寻找解决问题的一般公式,而不是寻找每一个测试实例的具体答案。一个公式经受不同实例的测试越多,这个公式就会进化得越完善。

尽管方程进化能得出有效的解决方案,可这些方案却往往要多难看有多难看。当柯扎拿起他那些高度进化的宝贝开始查看细节时,他和西姆斯以及雷一样感到震惊:解决方案简直是一团乱麻!进化要么绕上一个大弯,要么钻个七里拐弯的逻辑漏洞抄近道。它塞满冗余,毫不雅致。出了错时,宁愿添加一节纠错程序,或者让主流程改道绕过出错的区域,也不愿销去错误的部分。最后的公式颇有几分神奇的鲁宾·戈德堡[3]连动装置的样子,依靠某些巧合才能运作。当然,它实际上就是架戈德堡神奇连动机。

拿柯扎曾经给他的进化机器玩过的一个问题为例。那是一个由两条互相缠绕的螺旋线构成的图形,大致类似于纸风车上的双重螺旋线。柯扎要求进化方程机器进化出一个最佳方程式,来判定约200个数据点各在互绕双螺旋的哪一条线上。

柯扎将10000个随机产生的计算机公式加载到他的数据培养液里。他放任它们进化,而他的机器则挑选出最有可能获得正确公式的方程。柯扎睡觉的时候,程序树交换分枝,偶尔产生一个运行更好的程序。在他度假期间,机器照常运行。待他度假归来,系统已经进化出能完美划分双螺旋线的答案了。

这就是软件编程的未来!定义一个问题,机器就能在程序员打高尔夫球的时候找到解决方案。但是,柯扎的机器找到的解决方案让我们得以一睹进化的手艺。这是它得出的公式:

(SIN (IFLTE (IFLTE (+ Y Y) (+ X Y) (- X Y) (+ Y Y)) (* X X) (SIN (IFLTE (% Y Y) (% (SIN (SIN (% Y 0.30400002))) X) (% Y 0.30400002) (IFLTE (IFLTE (% (SIN (% (% Y (+ X Y)) 0.30400002)) (+ X Y)) (% X 0.10399997) (- X Y) (* (+ -0.12499994 -0.15999997) (- X Y))) 0.30400002 (SIN (SIN (IFLTE (% (SIN (% (% Y 0.30400002) 0.30400002)) (+ X Y)) (% (SIN Y) Y) (SIN (SIN (SIN (% (SIN X) (+ -0.12499994 -0.15999997))))) (% (+ (+ X Y) (+ Y Y)) 0.30400002)))) (+ (+ X Y) (+ Y Y))))) (SIN (IFLTE (IFLTE Y (+ X Y) (- X Y) (+ Y Y)) (* X X) (SIN (IFLTE (% Y Y) (% (SIN (SIN (% Y 0.30400002))) X) (% Y 0.30400002) (SIN (SIN (IFLTE (IFLTE (SIN (% (SIN X) (+ -0.12499994 -0.15999997))) (% X -0.10399997) (- X Y) (+ X Y)) (SIN (% (SIN X) (+ -0.12499994 -0.15999997))) (SIN (SIN (% (SIN X) (+ -0.12499994 -0.15999997)))) (+ (+ X Y) (+ Y Y))))))) (% Y 0.30400002))))).

这公式不但样子难看,而且还令人费解。即使对一个数学家或一个计算机程序员来说,这个进化出来的公式也是一团乱麻。汤姆·雷说,进化写的代码只有喝醉酒的人类程序设计员才写得出来的。依我看,说进化生成的是只有外星人才写得出来的代码恐怕才更确切些。这绝非人类所为。对这个方程追本溯源,柯扎终于找到了这个程序处理问题的方式。完全是凭着百折不挠和不择手段,它才打通了一条艰难曲折又令人费解的解决之道。但这确实管用。

进化得出的答案看起来很奇怪,因为几乎任何一个高中生都能在一行内写出一条非常简洁优雅的方程式来描述这两条螺旋线。

在柯扎的世界里没有要求方案简洁的进化压力。他的实验不可能找到那种精炼的方程式,因为它并不是为此构建的。柯扎试着在运行过程中添加点简约性因素,却发现在运行开始就加入简约性因素会降低解决方案的效率。得到的方案虽然简单却只有中下水平。他有证据表明,在进化过程末期加入简约性因素——也就是说,先让系统找到一个管用的解决方案,再开始对其进行简化——这是进化出简洁方程更好的方法。

但柯扎坚信简约的重要性被过分高估了。他说,简约不过是「人类的审美标准」。大自然本身并不特别简约。举个例子:时为斯坦福大学科学家的戴维·斯托克分析了小龙虾尾部肌肉中的神经回路。当小龙虾想逃走的时候,其神经网络会引发一个奇怪的后空翻动作。对人类来说,那种回路看起来如巴洛克建筑那般繁复,取消几个多余的循环指令马上就可以使它简化一些。但那堆乱七八糟的东西却很管用。大自然并不会只为了优雅而简化。

《遗传编程》:Genetic Programming,

tic-tac-toe:一个很有名的益智游戏。弈者在井字形的九个方格上轮流落子,三点连成一条直线(横、竖、斜均可)的一方获胜。只要弈法得当,双方一定会以和局结束。

鲁宾·戈德堡(Rube Goldberg):美国漫画家,画了许多用极其复杂的方法完成简单小事的漫画。比如把鸡蛋放进小碟子这种事,在戈德堡笔下可能是这样的:一个人从厨房桌子上拿起晨报,于是牵动了一条打开鸟笼的线,鸟被放出来,顺着鸟食走向一个平台。鸟从平台摔到一灌水上,水灌翻倒,拉动扳机,使手枪开火。猴子被枪声吓得把头撞在系有剃刀的杯子上,剃刀切入鸡蛋,打开鸡壳,使鸡蛋落入小碟子中。——摘自「中文维基百科」

17.4 打破规则求生存

柯扎指出,人类之所以追求类似牛顿的f=ma那样简单的公式[1],是因为我们深信:宇宙是建立在简约秩序的基础之上。更重要的是,简约对人类来说是很方便的。f=ma这个公式比柯扎确定螺旋线的怪物使用起来容易得多,这使我们更加体会到公式中所蕴涵的美感。在计算机和计算器问世前,简单的方程更加实用,因为用它计算不易出错。复杂的公式既累人又不可靠。不过,在一定范畴内,无论是大自然还是并行计算机,都不会为繁复的逻辑发愁。那些我们觉得既难看又让人头晕的额外步骤,它们能以令人乏味的精确度运行无误。

尽管大脑像并行机器一般运作,人类意识却无法并行思考。这一讽刺性的事实让认知科学家们百思不得其解。人类的智慧有一个近乎神秘的盲点。我们不能凭直觉理解概率、横向因果关系及同步逻辑方面的各种概念。它们完全不符合我们的思维方式。我们的思维退而求其次地选择了串行叙述——线性描述。那正是最早的计算机使用冯·诺依曼串行设计方案的原因:因为人类就是这样进行思考的。

而这也正是为什么并行计算机必须被进化而不是被设计出来:因为在需要并行思考的时候我们都成了傻子。计算机和进化并行地思考;意识则串行思考。在《代达罗斯》[2]1992年冬季刊上一篇极具争议的文章里,思维机器公司的市场总监詹姆斯·贝利描述了并行计算机对人类思维的飞反效应[3]。文章题为《我们先改造电脑,然后电脑改造我们》,贝利在文中指出,并行计算机正在开启知识的新领域。计算机的新型逻辑反过来迫使我们提出新的问题和视角。贝利暗示道:「也许,世上还有一些截然不同的计算方式,一些只有用并行思考才能理解的方式。」像进化那样思考也许会开启宇宙中新的大门。

约翰·柯扎认为,进化处理定义不严格的并行问题的能力是它的另一个独特优势。教计算机学会解决问题的困难在于,时至今日,为了解决我们遇到的每一个新问题,我们最终还是要逐字逐句地为它重新编程。如何才能让计算机自行完成任务,而不必一步步告诉它该做什么和怎么做?

柯扎的答案是:进化。现实世界中,一个问题可能有一个或多个答案,而答案的范围、性质或值域可能完全模糊不清。进化就可以让计算机软件解决这种问题。譬如:香蕉挂在树上,请给出摘取程序。至今大多数计算机学习都不能解决这样的问题。除非我们明确地向程序提供一些明确的参数作为线索,诸如:附近有多少梯子?有没有长竿?

而一旦定义了答案的界限,也就等于回答了问题的一半。如果我们不告诉它附近有什么样的石头,我们知道是不会得到「向它扔石头」的答案的。而在进化中,则完全有这个可能。更可能出现的情况是,进化会给出完全意想不到的答案,譬如:使用高跷;学习跳高;请小鸟来帮忙;等暴风雨过后;生小孩然后让他们站在你的头上。进化并不一定要昆虫飞行或游泳,只要求它们能够快速移动来逃避捕食者或捕获猎物。开放的问题得出了诸如水蝇用脚尖在水上行走或蚱蜢猛然跳起这样各不相同但却明确的答案。

每一个涉足人工进化的人都为进化能轻而易举地得出异想天开的结果而大为吃惊。汤姆·雷说:「进化可不管有没有意义;它关心的是管不管用。」

生命的天性就是以钻常规的漏洞为乐。它会打破它自己所有的规则。看看这些生物学上令人瞠目结舌的奇事吧:由寄居在体内的雄鱼来进行授精的雌鱼,越长越萎缩的生命体,永远不会死的植物。生命是一家奇物店,货架上永远不会缺货。自然界层出不穷的怪事几乎跟所有生命的数量一样多;每一种生物在某种意义上都在通过重新诠释规则来为自己找活路。

人类的发明物就没有那么丰富了。大部分机器被造来完成某个明确的任务。它们遵照我们旧式的定义,服从我们的规则。然而,如果让我们构想一架理想的、梦寐以求的机器的话,它应该可以改变自身来适应环境,更理想的是,它还能自我进化。

适应是对自身结构的扭曲,以使之能够钻过一个新漏洞。而进化是更深层的改变,它改变的是构建结构本身的架构——也即如何产生变化的方式——这个过程常常为其他人提供了新的漏洞。如果我们预先确定了一台机器的组织结构,也就预先确定了它能解决怎样的问题。理想的机器应该是一台通用问题解决机,一台只有想不到没有做不到的机器。这就意味着它必须拥有一种开放性的结构。柯扎写道:「(解决方案的)规模、形式以及结构复杂度都应是答案的一部分,而不是问题的一部分。」当我们认识到,是一个系统自身的结构决定了它所能得出的答案,那么我们最终想要的是如何制造出没有预先定义结构的机器。我们想要的是一种不断自我更新的机器。

那些致力于推动人工智能研究的人无疑会对此大唱赞歌。在没有任何提示和限定答案方向的前提下,能想出一个解决方案——人们称之为横向思维——这几乎就等同于人类的智能了。

我们所知唯一一台能重塑自己内部连接的机器就是我们称为大脑的灰色活体组织(大脑灰质)。我们目前唯一可以设想付诸生产的重塑自身结构的机器,可能是一种能够自我改编的软件程序。西姆斯和柯扎的进化方程是通向自我改编程序的第一步。一个可以繁衍其他方程的方程正是这种生命种类的基土。繁衍其他方程的方程就是开放性宇宙。在那里任何方程都能产生,包括自我复制的方程和衔尾蛇式的无限循环公式。这种循作用于自身并重写自身规律的递归程序,蕴涵着世上最宏伟的力量:创造恒新。

「恒新」是约翰·霍兰德使用的词组。多年来,他一直在潜心研究人工进化方法。用他的话说,他真正在从事的,是一种恒新的新数学。那是能够创造永无止尽的新事物的工具。

卡尔·西姆斯告诉我:「进化是一个非常实用的工具。它是一种探索你不曾想过的新事物的方式。它是一种去芜存精的方式。它也是一种无需理解便能探索程序的方式。如果计算机运转速度够快,这些事它都能做到。」

探索超越我们理解力外的领域并提炼我们所收获的,这是定向式、监督式和最优化的进化带给我们的礼物。汤姆·雷说:「但是,进化不仅是优化。我们知道进化能超越优化并创造新事物来加以优化。」当一个系统可以创造新事物来加以优化时,我们就有了一个恒新的工具和开放的进化。

西姆斯的图像遴选和柯扎那通过逻辑繁衍进行的程序遴选都是生物学家称为育种或人工选择的例子。「合格」的标准——被选择的标准——是由培育员决定的,因而也是人工产物或人为的。为了达到恒新——找到我们不曾预料的东西——我们必须让系统自己为它的选择划定标准。这就是达尔文所说「自然选择」的含义所在。选择标准由系统的特性所确定;它自然而然地出现。开放的人工进化也需要自然选择,如果你愿意,也可以叫它人工自然选择。选择的特征应该从人工世界内部自然地产生。

汤姆·雷已经通过让他的世界自主选择适者的方式加载了人工自然选择工具。因此,他的世界从理论上说就具有了进化全新事物的能力。但是雷确实「做了点小手脚」以使系统进入运作。他等不及他的世界靠自己的力量进化出自我复制能力了。因此一开始他就引进了一个自我复制机制,一经引入,复制再也不会终止。用雷的比喻来说,他将生命在单细胞有机体状态下强力启动,然后观看了一场新生物体的「寒武纪大爆发」。但是他并不歉疚。「我只是尝试获得进化,并不真的在意获取它的方式。如果我需要将我的世界的物理和化学成分拉升到能支承花样繁多无限制进化的水平,我乐于这么做。我不得不操纵它们来达到这个水平,对此我并不感到内疚。如果我可以操控一个世界达到寒武纪大爆发的临界点,然后让它自己沸腾溢出边界,那才真是永生难忘呢。和系统所产生的结果相比,我不得不操控它达到临界点是一件不值一提的事。」

雷认为,启动开放的人工进化本身已经极具挑战性了,他不一定非得使系统自己进化到那种程度。他会控制他的系统直到它能靠自己的力量进化。正如卡尔·西姆斯所说,进化是一种工具。它可以与控制相结合。雷在控制数月之后转入了人工自然选择。与之相反的过程同样可行——也许有人会在进化数月之后再施以控制,以得到想要的结果。

f=ma:这个公式描述的是牛顿力学第二定律,即加速度定律,f为外力,m为质量,a为加速度。

代达罗斯(Daedalus):希腊神话中技艺高超的匠人,他发明了刨子、吊线与胶水。

飞反效应(boomerang effect):指产生与原目标相反的效果,在经济、广告等行业有许多例子。

17.5 掌握进化工具

进化作为一种工具,特别适用于以下三件事:

如何到达你想去而又找不到路的领域;

如何到达你无法想象的领域;

如何开辟全新领域;

第三种用途就是通向开放世界的门户。它是非监督式、非定向式的进化过程。它是霍兰德设想的不断扩张的恒新机器,是一个可以自己建设自己的事物。

像雷、西姆斯和道金斯这些伪上帝们在实验伊始都以为自己划定了系统空间,当他们看见进化如何扩大这一空间时,都大感惊诧。「那比我想象的要大得多」是他们常说的话。当我在卡尔·西姆斯进化展的图片之间穿行的时候,也有类似的无法抗拒的感觉。我找到的(或系统为我找到的)每一张新图片都色彩斑斓且意想不到的复杂,与我从前曾经见过的任何东西都大不相同。每个新图像似乎都扩大了可能存在的图片的空间。我意识到我从前对图片的概念是由人类——或者说由生物本性——来定义的。但在西姆斯的世界里,有相当多数量的激动人心的景致有待展现。它们既非人造也非生物制造,但却同样丰富多彩。

进化在拓展着我对可能性的认识。生命的机制与此非常相似。DNA的字节都是功能单位——是拓展可能性空间的逻辑进化者。DNA与西姆斯和柯扎的逻辑单位的运行方式是等同的。(也许我们该说他们的逻辑单位与DNA相等同?) 屈指可数的几个逻辑单位就可以通过混合和配对形成天文数字般的蛋白质编码。细胞组织、疾病、药品、味道、遗传信息以及生命的基础结构等所需的蛋白质,均来自与这张小小的功能字母表。

生物进化是一种开放的进化,它以旧的DNA单元繁育新的DNA单元,它是一个不断扩张、永无止境的库。

分子育种学家杰拉德·乔伊斯很高兴他所从事的分子进化工作「既是为了兴趣,也能有利可图」。但他的真正梦想是孵化出另一种开放进化机制。他告诉我,「我想试试看,能否在我们的控制之下启动自组织过程。」乔伊斯和同事们正在做一个试验,让一种简单的核酶[1]进化出复制自己的能力——那正是汤姆·雷跳过的一个至关紧要的步骤。「我们的明确目标是启动一个进化系统。我们要让分子自己学会如何复制自身。之后,自发进化就将取代定向进化。」

目前,自发且能自我维持的进化对生物化学家们来说还只是一个梦想。至今还没有人能够驱使一个系统迈出「进化的一步」——发展出之前未曾有过的化学进程。到目前为止,生物化学家只能针对那些他们已经知道该如何解决的问题来进化出新的分子。「真正的进化是要闯出一片未知的新天地,而不是仅仅是在感兴趣的变异中打转转。」乔伊斯如是说。

一个有效的、自发的、进化的分子系统将会是一个超级强大的工具。它将是一个可以创造出任何生物的开放系统。「它将是生物学的巨大成就。」乔伊斯宣称。他相信,其冲击力相当于「在宇宙中找到了另一种乐于与我们分享这个世界的生命形式」。

但是,乔伊斯是一个科学家,他不会被热情冲昏了头:「我们并非要制造生命,然后让它发展自身的文明。那无异于痴人说梦。我们只是要制造一种与现有的化学存在略有不同的人工生命形式。这可不是什么天方夜谭,而是可以触摸得到的。」

核酶(ribozyme):是一种化学本质上为核糖核酸(RNA)但却具有酶的催化功能的物质。核酶的发现,打破了酶都是蛋白质这一传统认识,并使得分子层面上的进化成为可能。发现核酶的两位美国科学家因此而获得1989年的诺贝尔化学奖。

17.6 从滑翔意外到生命游戏

但是,克里斯·朗顿并不觉得能创造自己文明的人工生命是一个天方夜谭。作为开创了人工生命中一个时髦领域的特立独行之人,朗顿承受了许多压力。他的故事很值得向大家陈述一下,因为他自身的经历再现了人造的、开放的进化体系的觉醒。

几年前,我和朗顿参加了在图森召开的为期一周的科学会议,为了清醒一下头脑,我们逃了一下午的会。我应邀去参观尚未完成的生物圈二号项目,路程大约要一个小时。当我们在南亚利桑那州盆地那蜿蜒的黑色缎带般的沥青路上平稳行使时,朗顿向我讲述了他的生命故事。

当时,朗顿以计算机科学家的身份在洛斯阿拉莫斯国家实验室[1]工作。整个小镇和洛斯阿拉莫斯实验室最初都是为研制终极武器而建的。因此,朗顿在故事一开始说他是越南战争时期拒服兵役的人,我感到很吃惊。

作为拒服兵役的人,朗顿得到一个替代兵役的机会——在波士顿的马萨诸塞州综合医院做护理工。他被分配去做一件没人乐意做的苦差事:把尸体从医院地下室搬运到太平间地下室。上班第一个星期,朗顿和他的搭档把一具尸体放到一架轮床上,推着它穿过连接两幢楼的阴冷潮湿的地下走廊。他们必须在地道中唯一的灯光下推着轮床通过一段狭窄的水泥桥。当轮床撞到隆起物时,尸体打了个嗝,坐了起来,并开始从轮床上滑下来!朗顿下意识地转身想抓住他的搭档,却只看见远处的门在他夺路而逃的同事身后来回晃荡。死了的东西可以表现得像活的一样!生命就是一种行为,这是朗顿最初的体会。

朗顿对老板说他无法再做那种工作了,能不能做点别的?「你会编写计算机程序吗?」老板问他。「当然会。」

于是,他得到了一份为早期计算机编写程序的工作。有时,他会在晚上让一个无聊的游戏在闲着的计算机上运行。这个游戏被称为「生命」,由约翰·康威设计,然后再由名为比尔·高斯帕的早期黑客改写成主机程序。该游戏是一组能产生多种多样形式的非常简单的代码,其模式令人想到生物细胞在琼脂盘上的成长、复制和繁衍。朗顿回忆起那一天,他独自工作到深夜,突然感到屋里有人,有某种活着的东西在盯着他看。他抬起头,在「生命」的屏幕上,他看到令人惊异的自我复制的细胞模式。几分钟之后,他再次感到那种存在。他再次抬起头来,却看到那个模式已经死去。他突然意识到那个模式曾经活过——活着,而且像琼脂盘上的细胞一样真切地活过——不过是在计算机屏幕上。也许计算机程序能够获得生命——朗顿心里萌生了这个大胆的想法。

他开始摆弄这个游戏,研究它,思考着是否能够设计一种开放的、类似「生命」那样的游戏,以使事物能够开始自行进化。他苦练编程技术。期间,朗顿接到一个任务:将一个程序从一台过时的大型计算机中移植到一台构造完全不同的新计算机中去。完成此任务的窍门是抽象出旧计算机上的硬件运行方式,在新计算机上以软件的方式模拟出来——即提取硬件的行为,再将之转换成无形的符号。这样,旧的程序就可以在新计算机上由软件仿真出来的一个虚拟旧计算机系统中运行。朗顿说,「这是将过程从一个媒介转到另一个媒介上的直接体验。硬件是什么并不重要,因为你可以在任何硬件中运行程序。重要的是要抓住过程的本质。」这让他开始遐想,生命是否也能从碳结构中提取出来,转化成硅结构。

替代兵役工作结束之后,朗顿在滑翔运动上消磨了一个夏天。他和一位朋友得到一份日薪25美元的工作——在北卡罗来纳州老爷山上空滑翔,以招徕游客。他们每次都要在风速为每小时四十英哩的高空中逗留数小时。一天,一阵狂风袭击了朗顿,导致他从空中坠落。他以胎儿的姿势摔在地上,折断了35根骨头,其中包括头部除颅骨以外的所有骨头。尽管他的膝盖撞碎了脸,但他还活着。接下来他卧床六个月,处于半昏迷状态。

在严重脑震荡恢复过程中,朗顿感觉他正看着自己的大脑在「重启」,仿佛计算机重启时必须重新载入操作系统一样。他大脑深层的功能一个接一个地重现。朗顿记得那灵光一现的刹那,他的本体感受——那种在一具躯体之中的感知——复原了。他为一种「强烈的发自内心深处的直觉」所震撼,感知的本我融入肉体,好像他这架机器完成了重启,正等待着被投入使用。「关于心智形成是什么感觉,我有亲身的体验。」他告诉我。正如他曾经在计算机上看到生命一样,现在,他对他自己那处于机器中的生命有了发自内心的认识。生命是否可以独立于母体而存在?他体内的生命和计算机中的生命难道不能是一样的吗?

他想,要是能在计算机中通过进化使某种东西成活,那岂不是很棒!他觉得应该从人类文化入手。对人类文化进行模拟似乎比模拟细胞和DNA容易得多。作为亚利桑那州立大学的大四学生,朗顿写了一篇题为《文化的进化》[2]的论文。他希望他的人类学、物理学和计算机科学教授们能认同他制造一台可运行人工进化程序的计算机的想法,并以此获得学位,但是教授们不鼓励他这么做。他自己掏钱买来了一台苹果II型电脑,并编写了他的第一个人工世界。他没能实现自我复制或自然选择,但是他找到了元胞自动机[3]的大量文献——文献表明,「生命游戏」仅仅是元胞自动机模型的一个例子。

这时,他偶然读到约翰·冯·诺依曼在二十世纪四十年代对人工自我复制的论证。冯·诺依曼提出了一个会自我复制的里程碑式公式。不过实现这个公式的程序冗长而令人费解。在接下来的几个月里,朗顿每夜都在他的苹果II型电脑上编写代码(这是冯·诺依曼不具备的有利条件;他是用铅笔在纸上完成他的编码的。)。终于,靠着他那要在硅片中创造生命的梦想的引导,朗顿设计出了当时人们所知的最小的自我复制器。在计算机屏幕上,这个自我复制器看上去就像一个蓝色的小Q。在这个仅有94个字符的循环中,朗顿不仅塞进了完整的循环语句,还有如何进行复制的指令以及甩出复制好的另一个自我的方法。他太兴奋了。如果他能设计出如此简单的复制器,那么他还能模仿出多少生命的关键过程呢?再者,生命还有哪些过程是不可或缺的呢?

对现有文献资料的仔细搜索显示,关于这个简单问题的著述非常有限,而那有限的论述,又分散在数百篇论文中。洛斯阿拉莫斯实验室的新研究职位给朗顿壮了胆。1987年,他以破釜沉舟的决心召集了「活系统合成与模拟跨学科研讨会」[4]上——这是首届讨论(如今朗顿称为)人工生命问题的会议。为了寻找能显现出活系统行为的任何一种系统,朗顿举办了这个面向化学家、生物学家、计算机科学家、数学家、材料科学家、哲学家、机器人专家和电脑动画师的专题研讨会。我是与会为数不多的记者之一。

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体大小
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
首 页 < 上一章 章节列表 下一章 > 尾 页