计算机下棋水平如今还未能达到象棋大师那样水平,但它足以与个优秀业余棋手相媲美。更准确说法是,计算机程序足以与个优秀业余棋手相媲美,因为程序本身对使用具体哪台计算机来表演其技巧是从不苛求。那,程序员任务是什呢?第,他肯定不像个演木偶戏牵线人那样每时每刻操纵计算机。这是作弊行为。他编好程序,把它输入计算机内,接着计算机便独立操作:没有人进行干预。除让对手把他着按入机内。程序员是否预先估计到切可能出现棋步,从而编好份长长清单,列出针对每种情况妙着?当然不是这样。因为在棋局中,可能出现棋步多如恒河沙数,就是到世界末日也编不出份完备清单来。也是出于同样理由,们不可能为计算机编制这样份程序,使它能在“电脑”里事先走次所有可能出现棋步,以及所有可能应着,以寻求克敌制胜战略。不同棋局比银河里原子还要多。这些仅仅是琐细问题,说明为下棋计算机编制程序时面临难题,事实上这是个极难解决难题。即使是最周密程序也不能和象棋大师匹敌,这是不足为奇。
程序员作用事实上和个指点他儿子怎样下棋父亲差不多。他把主要走法提纲挚领地告诉计算机,而不是把适用于每种开局各种走法都告诉它。他不是用们日常使用语言逐字地说,“象走田”,而是用数学语言这样说,“象新坐标来自老坐标,程序是在老坐标X以及老坐标Y上加上同个常数,但其符号不必相同。”实际上使用语言当然更简洁些。接着他可以再把些“忠告”编入程序内,使用是同样数学或逻辑语言,其大意如果用们日常语言来表达,不外乎“不要把你王,bao露在敌前”,或些实用诀窍,如马“两用”,同时进攻对方两子。这些具体走法是耐人寻味,但讲下去未免离题太远。重要是,计算机在走第步棋之后,就需要独立操作,不能指望它主人再作任何指点。程序员所能做切只是在事先竭尽所能把计算机部署好,并在具体知识提供以及战略战术提示两者之间取得适当平衡。
基因也控制它们所属生存机器行为,但不是像直接用手指牵动木偶那样,而是像计算机程序员样通过间接途径。基因所能做到也只限于事先部署,事后生存机器在独立操作时它们只能袖手旁观。为什基因如此缺乏主动精
请关闭浏览器阅读模式后查看本章节,否则可能部分章节内容会丢失。