“手谈”’96卫冕战纪实

Author: 中山大学化学系 陈志行 Date: 1996-10-18

        次日下午来到设在日本棋院的赛场进行程序试验。这赛场比去年扩大了一倍。大会主持人吉川厚热情地迎了上来,说我原来的程序执黑可以,执白就不能实现今年的联机对弈。这是我出发前就知道的:FOST杯赛今年又提高了要求,用一台主机总管全部电脑的通讯对弈而不是去年那样在互相对弈的两台电脑间直接通讯,这样就要对原来的通讯协议作些修改。吉川又说,已请那位须永修司先生给我编了新的通讯程序,试试看行不行。如果不行,可以让我全部执黑。我深感歉意,他们对我太照顾了。问题在于我的程序是用汇编语言写的,他们知道我不容易把通讯功能加到程序中,去年就特意为我编了通讯程序,安排了一个中断让我的程序调用。
        须永修司正在为通讯对弈的问题忙得团团转,他好不容易才抽点空帮我试验,但并不顺利,因为整个通讯系统还没有弄好。晚饭回来不久,他告诉我已经可以了,让我试试。我试了一下,是可以通讯了。不过后来我想还是慎重些,试试能否下完一局。可是下了几着,又出了问题,只好再去找须永,这时他似乎是忙不过来,只答应再帮我查一查。
        再次日,9月13日,比赛就要开始了。须永告诉我,他为我编的通讯程序有一个语句写错了。他是早上提早来为我查错的。一切都正常了,整个比赛中我的程序都能实现通讯自动对弈。我衷心地感激这位须永先生。后我找到机会认真地向他表达谢意,并表示回去要好好学习他给我编的这个通讯程序,不懂的地方还要写信向他请教。谈话中我才知道这位在两届比赛中为通讯对弈而辛劳的人并非一般的技术人员,而是主办单位之一的日本电脑围棋研究会的成员。他说要继续编好电脑围棋程序,争取明年也能参赛。
        来自美国的陈克训教授就没有得到这样的优待。他的程序未能符合新的要求,只好人工操作。他的对手程序把着手通过主机送到旁边的一电脑,由他手工转输到自己程序所用的电脑中,而自己程序的着手又要由他旁边的电脑以通过主机送往对手的电脑。第一轮比赛由于这样的操作不够熟练,以致超时被判负。不少人为他鸣不平。我去问他,他只把情况告诉我,脸上还是处之泰然的样子,不象去年输给佛特兰德时那副懊丧脸色。看来这位学者对这样的挫折看得很轻,远不如对研究工作中的闪失那么重视。
        报名参赛的27人,实到19人。强程序仍然是去年的前4名,即“手谈”、英国芮斯的GO4、美国佛特兰德的MFGO(多面围棋)以及陈克训的“棋慧”。赛制还是瑞士制,共赛9轮。“手谈”在前四轮尚未遇到强手,第一天最后一轮即第5轮碰上了MFGO。
        MFGO的作者佛特兰德是个老手,近年在INTERNET上十分活跃,常公开讨论电脑围棋,还屡见他向别人问及有关“手谈”的问题,如为什么“手谈”显示的形势判断很少起伏、“手谈”的模式有何特点之类。MFGO有很大的定式库,今年的程序中还添加了一个巨大的布局库。看来他十分注重给程序“灌输”知识,而围棋的人工智能正是属于“知识型”的。不过,教电脑下围棋也和教人那样,不能只靠“满堂灌”。怎样教才有好效果,就要看程序设计者的技巧了。
        “手谈”在布局和定式上都是弱项,序盘经常吃亏。这局棋开局时右下角一战已吃了大亏。跟着左上角MFGO走出不常用的定式(图1黑1),“手谈”不懂这定式而应对失误(白4应走5位)。接着白6是刚学会下围棋的人也不容易犯的错误,被黑7提,惨不忍睹。白6这类错误在旧版本(商品名泛华棋友)中是常会犯的。经研究改进仍未能完全避免。但这盘棋中的白6,回国后查明是在定式处理的程序设计中存在某种内在矛盾所引起的。这种矛盾一时不易解决。但只要简单地改动一些数据就不会重复出现这样着法了。
        可是左上角这种愚蠢的着法反而把MFGO弄糊涂了。几手之后,黑竟在A、B两处一补再补,生怕煮熟了鸭子飞了似的。绝对优势的局面又因此被“手谈”渐渐追近了。中盘战是“手谈”的强项,但也难免出漏洞;而MFGO也常会走出强手。此局的中盘战,“手谈”占了便宜,局面转优。其后的搏斗中虽惊险迭出,却以互相让步而平稳解决。最后“手谈”胜11目半。
        下完这局,步出棋院,已是夜间。可是天气变了,下着毛毛雨。身穿单衣,有点寒意,一种不祥之兆凭空袭来。
        9月14日,是最后一天,还有4轮比赛待下。一上来就碰上我觉得最难对付的GO4。它着法稳健而善于围空,就像打太极拳那样,以慢让快、以静制动,避免急战。这正好克制了“手谈”的喜欢攻击而不善抢空的特点。今年的“手谈”我故障加强了防止对方围取中腹的措施和抢空的倾向,从而使攻击倾向稍有削弱。这样似乎有利于对付GO4。
        此局“手谈”执黑。进入中盘时白为了避免复杂的决战,弃去上边孤子,使黑取得优热。其后的平稳周旋中,黑优势逐渐巩固,眼看胜利将临时却出了漏洞。如图2,几着前,白走○△时,黑本应立即在○○位挡住,才能保住中腹空。可是黑却脱了先。白○○冲,黑 挡。到白1侠断吃时,黑空不免被破。此时黑如应得好,尚可成为细棋。但黑应法接连失误,终成败局,最后输了6目半。
        回国后细查,为什么白着 时,黑不在○○应,发现是模式有误。其实我在赛前已发现有问题,并作了修改,可是仍有考虑不周之处。留下的这个疏散使我痛失这一好局。
        局后有人转告我,GO4的作者芮斯用了8个月的时间专门研究对付“手谈”之策。后来芮斯又当面说用GO4与“手谈”对弈了700多局。由于我故意使“手谈”参赛版功能尽量简化,下完一局后必须退出再重新启动。芮斯便煞费苦心编了定时程序,使GO4与“手谈”每隔两小时自动启动对弈一次。他这一局的获胜,无疑是这种努力的回报。
        其实我也费了不少心机。为了与GO4对弈,我特意把一台486DX2/66升级为Pentium 120,这样才得以用“手谈”与它对弈百多局。但与他的七百多局相比,还是小巫见大巫。
        输了这局,卫冕近乎绝望。即使下一轮赢了“棋慧”,而GO4输了局也没有用,因为我的对手多数太弱,使我所得的小分特别少。就算GO4连负于“棋慧”和MFGO,我也要被MFGO以小分压倒,除非MFGO又输给“棋慧”。这4局棋的胜率假都为1/2,则卫冕的机会就只有1/16;即使胜了棋慧,卫冕的几率也只有1/8。
        下一轮对“棋慧”。这两个好战的程序间的对局从来都杀得烽烟四起。但似乎“手谈”是“棋慧”的克星:除了91年初出茅庐的一次外,历次比赛都是“手谈”获胜。但这一局棋一开始就糟透了。下方两个角上对方都选择同一定式,而这个定式我早就教会了“手谈”,可是它偏偏不听话,“自以为是”地选取强攻敌子的错误着法,而被敌反击时又不善应对,弄得狼狈不堪。好容易才勉强稳住阵脚,但已吃亏不少。跟着战火又起,“棋慧”走出图3黑1活动下边残子的强手。而白6、8大错,结果棋慧执行黑先手成活得空,白外侧又显得薄弱。黑方已有几十目优势。若输出了些局,“手谈”恐怕连前三名也进不去。
        然而对此局我仍未失去信心,着法欠稳的“棋慧”是未必保得住优势的。图4之前黑已走了不少错着,黑右边阵地被彻底破坏且变薄。白1剌,黑若忍让而于3位保证连通,黑仍优势。今黑2一毛不拨,被白3分断,就靠不住了。右边一块黑棋是不难处理好的。但我想它可能逃出,白可对它追击而波及上方的黑块。两块黑棋之一被歼则白可胜。
        双方应接至白19,互有错失。黑20应补活右边一块。现黑走在上边,白就出杀手了。至白25提,黑净死。以后黑继续走损着,终于大败。
        胜了这局,我对陈克训说,希望你连胜两局,你拿亚军而帮我拿冠军。即使如上所述,卫冕的几率也还不到1/8。因为从去年的棋力来看,GO4是优于“棋慧”和MFGO的,两局皆败的几率恐怕远不到1/4。
        奇迹居然出现了。GO4真的连输两局,MFGO也输给了“棋慧”,“手谈”得以逢凶化吉。而“棋慧”因小分较少,被GO4和MFGO分别夺出亚军和季军。扑朔迷离的赛事,结果竟重现了去年的名次,岂非老天爷开的玩笑?
        明年FOST杯赛将移师名古屋,届时还要举行规模较大的讨论会。日本的电脑围棋目前显然落后了,棋力较强的商品围棋程序都是外国人编的:先是荷兰人布恩的“戈莱亚斯”,其次是“手谈”;这次陈克训和芮斯都告诉我,他们已与日本公司签了销售合同。主办单位科学技术融合振兴财团(FOST)和日本电脑围棋研究会以及协办单位日本棋院共同兴办这个当今世界上规模最大的电脑围棋赛,看来是决心使日本人在电脑围棋上打个翻身仗。中国怎么样?不能只靠一个“手谈”单枪匹马去保持世界领先的地位吧?