| 墨绿(2) |
| 送交者: cruiser 2004年02月15日20:44:52 于 [竞技沙龙] 发送悄悄话 |
|
五.模糊函数与量子波 计算机程序的一大优点是对任何棋形都可以有个好坏判断,在搜索范围内一切都不会错过。可是,从某种意义上来说这也是一种缺点。一切都靠算,能覆盖的面积自然就少了。而且,许多棋的好坏要到十几步甚至几十步以后才会表现出来,这是不可能算出来的,主要是靠感觉。另外,一个棋形的好坏并不是一成不变的,在某些情况下坏棋形也会有好价值。就连被认为是最坏棋形的空三角也经常在专业棋手的对局中出现。如果我们把一个棋形的好坏价值定死了,就没有产生这种变化的可能。我很早就想过要把模糊函数的概念弄到我的判断程序里面去。可是无论怎样模糊,在运算过程中,模糊量的大小还是得人为地规定。对一个固定棋形还是会算出同样的结果(虽然结果以模糊的形式出现)。 每一块棋除了死变化以外,都是有生命的。它的生命力以辐射方式向外散发,所以有“空提一子三十目”的说法。固定的程序是没有办法算出这种生命力来的。有一天读到一篇讲量子计算的文章,突然想到可以试一试在我的程序中加入量子波。这样一切运算都以概率的方式出现,没有固定结果,但通常会产生最自然和理想的结果。加进去以后,它果然变得丰富多采起来。居然可以走出很多从前绝对想不到的棋。不过,加进量子运算以后,效率变得比较低,搜索范围变小了,棋力居然比以前小有退步。但我并不为此失望,退一步进两步,只要大方向是朝前就行。关键是方法,效率问题总是有办法提高的。后来我花了一些时间把程序彻底整理了一下,又把我的计算机硬件升了级。如此一来,它的运算效率比以前增加了一倍,棋力也随之猛长起来,而且这次长起来就没有停。几个月下来就升到一段(1D★),而且根本没有停的意思。我的兴趣也跟着高起来,随时随地都在思考它的问题和解决办法。什么事情都想看看对我的程序是否有帮助,连开车等红灯都在想这最短路径问题是否可以用到这程序的搜索路径中去。这样一来,新的想法天天都有。 IGS是国际性的网站,任何时候世界上总有一半的地方是白天,也就是说任何时候都有人下棋。我的任何新想法都可以立即得到是否有用的验证。我每天下班回家就全力扑在它上面。不断地改进,不断地加上新的想法。我把这程序没日没夜地挂在网上,它的棋力每天都在长。两年下来它终于达到4D★。 这个程序的运作很依赖计算机的速度,这包括主机速度,硬盘阅读速度,以及内存容量。为了充分发挥它的潜力,我当然想给它配置最好的装备,这就需要钱。而且如果想买刚上市的新产品,就要花大钱。台湾每年一次的计算机围棋比赛,如果能拿第一名,就可以得到相当数量的奖金,至少买新机器不成问题。但我又不愿引起别人的注意。于是我把我的程序简装了以后去参加这个比赛。所谓简装就是拿掉一些子程序。但我的程序比别的程序高出太多,拿掉子程序后我又给它加了一些限制,基本上就是让它每盘能赢,但总在十目以内。最后一轮以前,我的程序全胜,即使输掉最后一盘也稳拿第一。于是,我在最后一场比赛前又拿掉了最主要的子程序,输了最后一盘。这样别人都认为它与别的程序属于一个档次。我又不像别的参赛人总想打名声好卖他们的程序,而是拿了第一名的奖金就赶快走人。因此,我的程序虽然拿了第一,却没有造成什么影响。第二年的比赛我没有去参加,这程序就渐渐地从大家的记忆中消失。有少数人记得,也只知道它大约是业余5级的水平。 六.墨绿问世 在达到4D★以前,我的程序有输有赢。虽然赢比输多多了(从30K升到4D★),但并没有引起人们的注意。我觉得该是给它起名字打名气的时候了。起什么名字好呢?因为我的最终目的是要打败人类最高手,所以一定要起一个与深蓝类似的名字。开始想叫它“深绿”,但又觉得与深蓝靠得太近。而且,深蓝的“深”有深层搜索的意思。我这个程序主要原理并不在深层搜索。叫它“浅绿”又觉得名字不够响亮。正在为起名字的事犯愁,恰好有多年不见的朋友来访,说是下一盘棋叙叙旧。于是从壁橱里拿出已经起灰的云子。这几年虽然也常下棋,但都是在网上下,手上摸的都是鼠标,这棋子已经有好几年没有摸过了。手里摸着这棋子,突然想到以前朋友曾告诉我鉴别真假云子的办法。说是把黑子拿起来对着光看,真云子会成墨绿色。这真是踏破铁鞋无觅处,得来全不费功夫。“墨绿”这个名字真是太合适不过了。既与深蓝相近,又有神秘深邃的意思。名字想好以后我就立即在IGS为它注册了一个4D的账号,英文名叫SLATEGREEN。 这时墨绿的棋力实际上已经比一般4D★强,但为了安全起见,开始只找弱4D下。主要目的是要连胜以造成轰动效应。IGS的概率指令可以用来判别强弱4D。因为它一天24小时全挂在上面,能找到对手就下,没有对手就跟自已下(我机器上还同时运行着另一个与它同时进化出来的程序)。几个星期下来,它连胜40盘,并且打成了5D★。一般人到了这种水平,一年半载也长不了什么棋。而墨绿不一样,它每下一盘棋都以最优方式重新整理内部联络,也就是说它一直都在长棋。打成5D★的时候,它的棋力其实已经高于5D★。所以,跟5D★下也一直赢。几个月以后又升到了6D★。6D★的级别,加上七八十盘的连胜很快引起了大家的注意。每次下棋的时候总有很多人观看,这种时候我特别得意。由于连胜,找它下棋的人越来越多,甚至还有7D★以上的。为保险起见,它只接受同级人的挑战。不到7D★就不接受7D★的挑战,而且也不跟新账号下。因为这些人或许是正在上升途中,实力可能很强。 因为墨绿成年累月都挂在网上,形形色色的人都会碰到。在4D★以前,时不时就会遇见耍赖的。开始的时候,耍赖对墨绿没有什么用处,因为他不在乎输赢,而且有的是时间。打到4D★以后这个问题就变得比较严重起来。因为要用连胜造影响,就一盘都不能输。如果遇见逃跑的还好,一个月以后IGS会自动判逃跑者负。可有时候墨绿明明大胜的棋,我这边突然断线。等我再连回去对方已经跑了,这样IGS算墨绿逃跑。好在4D★以上的人已经比较有棋品,这样干的不多。连胜二十盘的时候被我遇到过一次。于是我在它的程序里专门加了一句等候此人的指令。除非它一个月内不出现(届时IGS系统会算墨绿逃跑而判负),只要他一出现,墨绿就会抓住他。4D★的人棋瘾都已经很大了,要让这样的人一个月不上IGS是很不容易的。这些耍赖的人往往是出来探一下头,如果有他们欠棋的人在线上,他们就立即断线。由于墨绿有了这句等候他的指令,使得他连探头的时间都没有。他逃跑一星期后又联进了IGS,刚联进不到5秒钟就被墨绿发现,他还没来得及打退出的指令,墨绿已经恢复了他所欠的棋,这时候再要退出就算他逃跑,所以他只好把这盘棋下完,输棋走人。 另外经常碰到的是打听消息的。一般来说,墨绿对别人的问题一律不理。但有时如果我在看棋,我就会帮它回答一些问题。“你是不是职业棋手?”“是。”“你现在在哪里?”“计算机里。”“你24小时都泡在这里,不干别的事吗?”“是。”我总是用这种怎样解释都可以的答案来回答。 七.墨绿成长 墨绿的实力现在已远远高出我的实力,我跟它下棋几乎总是输。但因为我是看着它长大的,知道它的一些别人不知道的弱点,所以偶尔我也可以赢它一盘。但它如果在同一个弱点上连续两次吃亏,就会弥补掉这个弱点。因为我已经不可能去改它的程序了,只能通过这种办法来克服它的弱点,好象也很有效。我有时为了特意让它暴露出它的弱点,就跳过它的程序帮它走棋。为此还产生过一个小闹剧。 墨绿到了4D★以后,常常走出出乎我意料的棋。基本上要好几步以后我才能理解那一步的目的。有一次双方杀得很紧张时对方打吃,我觉得它只能长出去,否则棋筋被人提了就全完了。可是墨绿没有长出去,而是长考起来。我在旁边看得着急,以为它又出现什么漏洞,就擅自帮它长了出去。等到对方下一步棋走出来,我才知道它刚才为什么要长考,也意识到我帮了倒忙。对方的下一子同时威胁到两块棋,在另一块棋补一手后,刚才接上的一子又被堵了下来。几个回合下来,墨绿损失十几目棋。在此之前,墨绿一直没有输过。由于我的帮忙,眼看它的上百连胜就要被破了。好在墨绿的棋现在已经比一般的6D★高出一截,而且我很早以前给他加的风险系数现在起了作用。墨绿下棋的最终目的是赢,赢多赢少都不重要。所以它随时都在算自己领先多少。领先多了就走风险很小的棋,平手或微微领先时就走风险相对大一点的棋。现在落后很多,到了走风险很大的棋的时候了。风险大的棋大多都是无理棋。只要对方应对正确,下无理棋的一方会损失更多的目。没想到对方在墨绿一连串的无理棋下,居然没有采取应有的手法,而是一味的退让。大约自己认为领先很多,随便收收官就可以赢了。而且,鬼使神差,对方有一步棋居然应错了次序,吃了大亏,双方的目数一下就拉近了。收官的时候墨绿又再赚了几目,最后刚好赢了半目。真悬!从那以后,我再也没有帮它走过棋了。 上面那盘棋是墨绿连胜以来赢的目数最少的一盘棋。说起赢棋目数,与墨绿下棋的人都觉得很恼火。因为收官基本都是靠死算,是它的强项。一般一盘棋到了收官阶段,它几乎可以把各种变化都考虑到,然后宣布对方输多少目。如果对方继续下,而且没有按最佳下法下,它就会重新算一遍然后宣布一个新目数。刚才还说“黑输3目半”,现在或许说“黑输5目半”,9目,13目,就这样一直收到结束。开始我给它加这个功能是觉得好玩,后来就成了一个节目,许多观战者觉得这样很好玩。不过这让输棋的那方感到很不是滋味,好象被人宣布“你死定了”,然后自己一步步朝坟墓走去。 采用选对手的办法的结果又是只赢不输。因为它实际上总是与比它弱的人下,而且又不会出现昏着。没过多久,它就升到了7D★,然后是8D★。 八.争挑战权 8D★已经有不少专业棋手。由于连胜,墨绿的名气在IGS上已经到了家喻户晓的地步。只要是它的棋,总有上百人观看,有时超过500人。它的思路与人不一样,常常在大家意想不到的地方走棋,所以看的人特别多。尤其是职业棋手,都想来研究它的棋路。它基本也不照定式走棋。如果算出来的棋路与定式相同(大部分如此),就按定式走棋。如果算出来与定式不同,它也没有一般棋手的忌讳,总是按着自己算出来的路数走,根本不管定式不定式。这样一来,它的棋中产生出很多“新”定式,这就更吸引众多专业棋手了。大家开始都以为它是某个超一流棋手。看它保持上百盘不败,大家一致认为它是李昌镐。可看它的棋路又完全不像李。而且有人观察很仔细,发现有一次墨绿在IGS下棋的时候,李昌镐正在中国下富士通决赛。所以可以断定它不是李昌镐。用同样的方法,大家很快推出它不是中日韩三国任何一个等级分排前20名的棋手。这样一来,迷团就越来越大。看它下棋和找它下棋的人也越来越多。 由于连胜,墨绿很快升到了9D★。而且在信息栏里宣布只与9D★下棋。IGS上的9D★很少,就10来个。而且大多是以前的账号。如果别的9D★宣布只与9D★下棋,也许就找不到人下了。可墨绿的上百的连胜在职业棋手中造成了很大的轰动,大家都想来找它较量一下。可是要打到9D★必需要从7D开始。有些职业九段想请IGS管理员直接给他们9D★的账号。可IGS认为这正是吸引职业棋手来下棋的好机会,于是宣布绝不破例。这样一来,一大堆想找墨绿下棋的职业棋手涌进IGS,从7D开始往上打。好象本因坊之类的头衔比赛,先在循环圈里打,打出循环圈(升成9D★)才可以同墨绿下。 从7D★要打到9D★需要下很多盘棋,职业棋手一般不愿意花时间下这些棋。于是有些账号有好几个人在下,而且都是很强的九段,大家分任务,每人必需赢多少盘。不到两个月,IGS出现了好几个新的9D★。这些人一旦打进9D★就再也不相互下棋,而是追着墨绿下。墨绿当然是来者不拒。不过这两个月以来,墨绿与另一个同时进化出来的墨绿程序一直在下棋,棋力又有了长进,已经高出了这些职业九段。所以,与这些新9D★下,又是只赢不输。虽然现在在IGS上下得少了,但由于只赢不输,积分仍然慢慢往上爬,最后终于升到了10D★。 九.向最高手挑战 俗话说“人怕出名猪怕壮”。墨绿的名气越来越大,自然引起了越来越多的人的注意和好奇。有许多好事者为了证实墨绿的真实身份,追踪它的IP。为此我找了我在世界各地不下棋的朋友,有时用他们的机器上网。因为他们都不下棋,根本不知道我在干什么。这样一来,好事者们查出来分布在世界各地的IP,虽然不多,但也可以迷惑他们一阵子了。因为我把程序都放到我朋友的机器上,完全就是他们的机器在上网,我只不过远程操作而已。IGS的网管也查过一下,大约得出了我的几个常用IP,但总是不能最后确定。 墨绿变成了IGS上的唯一十段以后,很有一点高处不胜寒的感觉。与一般的专业棋手下也总是赢。开始时那些专业棋手还讲一点棋道,一盘棋就一个人下。后来看到没有一点赢棋的希望,就开始几个棋手联合起来下。也就是说每步棋都是几个人讨论以后再下。这样最大的优点是避免了昏着,但在战术上起不了太大作用。因为每个人的思路都不一样,时间有限,互相间很难谁说服谁。所以,虽然是大家讨论,仍然以一个人主下。由于没有本质上的突破,仍然没有赢的机会,只不过把输的目数减少了一点。这有点像武侠小说中高手同时与众多低手较量,低手人多也不大占得了便宜。 当今世界上的顶尖棋手们之间的差距很小,没有谁可以说肯定赢谁。像墨绿这样常胜不输,实际上实力已经高出所有的人类棋手。但由于从来没有像深蓝一样与人类最高手正式下过,还不能说就是最高手。事实上,由于IGS上一般都下很快的棋(从来没有人下双方各有三小时规定时间的棋),许多专业棋手都认为墨绿只不过是一个特别擅长下快棋的某一位专业棋手(居然没有人想到过其实没有任何擅长下快棋的专业棋手能有这样的常胜纪录)。为了更进一步证明自己的实力,造成更轰动的效应,墨绿在自己的信息栏里留下了向集本年三大世界棋赛冠军于一身的最高棋手挑战的宣言,使用时间由对方定。除此之外不再与别人下棋。宣言虽然发出去了,但并没有得到什么响应。因为世界冠军的身份是很高的,与一个隐姓埋名的人下棋,赢了被认为是自然的,输了这面子就丢大了,而且也没有什么实际利益。 这世上的事,你不操心,总有人会操心。大公司看准了这样的比赛有卖点,于是拍出了重金来赞助这个比赛。这样一来这项赛事的级别一下就高起来。世界冠军来下这样的比赛也不觉得丢份儿了,而且不管输赢都有大笔收入。说不定这世界冠军早就想下这盘棋,只不过一直没人给提供这个机会。为了防止运气问题,对方提出要下三番棋,对此我当然同意。因为我觉得墨绿的水平实际上比对方高,下得越多赢面就越大,赢得越多就越有说服力。另外对方提出双方规定时间为每方四小时。这也没有什么不利的地方,我当然也同意。于是墨绿与世界最高手挑战的比赛就成了现实。
|
|
![]() |
![]() |
| 实用资讯 | |




