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