《自私的基因》第四章 基因机器(5)

计算机下棋今天还未能达到象棋大师那样的水平,但它足以与一个优秀的业余棋手相比美。更准确的说法是,计算机的程序足以与一个优秀的业余棋手相比美,因为程序本身对使用哪一台具体的计算机来表演其技巧是从不苛求的。那么,程序编制员的任务是什么呢?第一,他肯定不象一个演木偶戏的牵线人那样每时每刻操纵计算机。这是作弊行为。他编好程序,把它放入计算机内,接着计算机便独立操作:没有人进行干预。除了让对手把他的一着按入机内。程序编制员是否预先估计到一切可能出现的棋步,从而编好一份长长的清单,列出针对每一种情况的妙着?当然不是这样。因为在棋局中,可能出现的棋步多如恒河沙数,就是到了世界末日也编不出一份完备的清单。也是出于同样的理由,我们不可能为计算机编制这样一份程序,使它能在"电脑"里事先走一次所有可能出现的棋步,以及所有可能的应着,以寻求克敌制胜的战略。不同的棋局比银河里的原子还要多。这些仅仅是琐细的问题,说明为下棋的计算机编制程序时面临的难题,事实上这是一个极难解决的难题。即使是最周密的程序也不能和象棋大师匹敌,这是不足为奇的。

程序编制员的作用事实上和一个指点他的儿子怎样下棋的父亲差不多。他把主要的步法提纲挚领地告诉计算机,而不是把适用于每一种开局的各种步法都告诉它。他不是用我们日常使用的语言逐字地说,"象走对角线",而是用数学的语言这样说,"象的新坐标来自老坐标,程序是在老坐标X以及老坐标y上加上同一个常数,但其符号不必相同。"实际上使用的语言当然更简洁些。接着他可以再把一些"忠告"编入程序内,使用的是同样的数学或逻辑语言,其大意如果用我们日常的语言来表达,不外是"不要把你的王暴露在敌前",或一些实用的诀窍,如一马"两用",同时进攻对方两子。这些具体的棋步是耐人寻味的,但讲下去未免离题太远。重要的是,计算机在走了第一步棋之后,它就需要独立操作,不能指望它的主人再作任何指点。程序编制员所能做的一切只是在事先竭尽所能把计算机部署好,并在具体知识的提供以及战略战术的提示两者之间取得适当的平衡。

基因也控制它们的生存机器的行为,但不是象直接用手指牵动木偶那样,而是象计算机的程序编制员一样通过间接的途径。基因所能做到的也只限于事先的部署,以后生存机器在独立操作时它们只能袖手旁观。为什么基因如此缺乏主动精神呢?为什么它们不把缰绳紧握在手,随时指挥生存机器的行为呢?这是因为时滞造成的困难。有一本科学幻想小说,它通过比拟的手法非常巧妙地说明了这个问题。这本扣人心弦的小说是霍伊尔(Fred Hoyle)和埃利奥特(John Elliot)合著的《安德洛墨达(Andromeda)的A》。象一切有价值的科学幻想小说一样,它有一些有趣的科学论点作为依据。可是,说也奇怪,这本小说对其中一个最重要的科学论点似乎有意避而不谈,而是让读者自己去想象。如果我在这里把它和盘托出,我想两位作者不会见怪吧。

离开我们两百光年之遥的安德洛墨达星座里有一个文明世界。那里的人想把他们的文化传播到一些远方的世界去。怎样做才是最好的办法呢?直接派人走一次是不可能的。在宇宙中,你从一个地方到另外一个地方的最大速度,理论上不能超过光速这个上限,何况实际上由于机械功率的限制,最高速度要比光速低得多。

读书导航