五子棋对弈及打谱软件综述

五子棋对弈及打谱软件综述
2012/2/26、人气:1177

首先说明一下,本篇文章将对当前比较流行的连珠对弈及打谱软件作出比较详尽的分析和评价,并穿插论述其它一些相关话题,我的主要目的是为那些具有一定水平且极希望得到系统提高的爱好者提供一点指导,使其免走弯路。
     先从对弈软件说起,目前常用的有五子棋大师 2和Fiver6,其它的或因为棋力太低或因为无禁手设置而未被广泛流传。我手头没有大师2,但可以从对大师1的分析中大致得出一些结论,大师1没有禁手,但棋力也还算是可以的,在把它的棋风调为偏于攻击,棋力设为最大的情况下,电脑总是盲目进攻,在需要防守时,它的防点也往往不到位,总之比 Fiver6要稍逊一筹,不过据说大师2 是个大型程序,有几十兆左右,那么它的核心算法部分至少应在两兆以上,这样看来,大师2应该比 Fiver6 更强大。 Fiver6是个300k左右的免费软件,而且棋力颇强,在网络中流传甚广,甚至成为一些人下软件棋的首选,而人们在痛骂那些人的同时,连Fiver6本身也成了罪魁祸首(呵呵,真有趣),不过可惜的是,直到现在还有人为软件到底有多大本事这个问题而争论不休,一些专业棋手出于某些原因,又不愿或不屑或仅仅因为懒惰而不去为爱好者答疑解惑,所以在这里我会通过对 Fiver6的分析来阐述一些相关问题,以澄清某些爱好者的认识误区。首先,笼统的给 Fiver6定一个等级是不恰当的,因为情况并非如此简单,要对其进行透彻分析,还得从开局一步步说起。评价Fiver6的基本开局是没有意义的,尽管它有时会开出彗星和游星,但那不是关键,真正重要的是 Fiver6走不出定式(开局之后30步内)来,开头五六步还象模象样,之后便会出现似是而非的无理手或软招,下面以银月必胜点为例:

第 1 图
        15┌┬┬┬┬┬┬┬┬┬┬┬┬┬┐
        14├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
        13├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
        12├┼┼+┼┼┼┼┼┼┼+┼┼┤
        11├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
        10├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
         9├┼┼┼┼○●○○┼┼┼┼┼┤
         8├┼┼┼┼┼●●○┼┼┼┼┼┤
         7├┼┼┼┼┼┼●○┼┼┼┼┼┤
         6├┼┼┼┼┼┼┼●┼┼┼┼┼┤
         5├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
         4├┼┼+┼┼┼┼┼┼┼+┼┼┤
         3├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
         2├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
         1└┴┴┴┴┴┴┴┴┴┴┴┴┴┘
A B C D E F G H I J K L M N O  
H8,I9,H7,H9,G9,I7,G8,I8,I6,F9
    如第一图所示,一直到此,Fiver6的Domini执黑都走对了,但是到关键的第十一手棋时,Fiver6没有走对(正着应该是在H5点做一手之后就必胜了),它在G10点活三了,白棋当然挡在G7,此后黑棋仍有先手,但想取胜已经是比较艰难了,况且Fiver6还会继续走出无理手而会逐渐丧失先手。如果谁有兴趣还可以用云月、寒星等的必胜点来试试Fiver6或大师2的执黑应手。所以说一个具有一定水平的连珠爱好者,如果他对定式谱及其变招比较熟悉的话,再稍微加点耐心,要执白赢Fiver6不是什么难事,即使是花月、浦月亦如此。要想使软件能完完全全下出定式,除非是超级电脑和超大程序还有点可能,因为定式是职业棋手们几十年几万局棋的经验总结,可不是几个小把式就能搞定的。不过经我这么一说,只怕又有人认为软件一无是处了,千万要小心喏,Fiver6厉害的不在开局,(那在哪儿呢?)很多人认为其中盘棋力强大,但这个说法并不十分准确,因为Fiver6的攻击性很强,在中盘双方平衡的情况下,它时常会走出比较过分的无理手,事实上是这样:Fiver6在局面占优的形势下,会打出一系列漂亮的组合拳,一旦你防守偏软,就很可能落败。也就是说Fiver6计算VCF(连续冲四最后取胜)、VCT(至少包含一步活三的连续攻击取胜)、VCK(至少包含一步作杀的连续攻击取胜。注:如果某一手棋本身不是冲四,也不是活三,但它的下一步马上会形成四三或VCF,那么这一步棋就称之为作杀,其效果相当于一步活三。)的能力比较强,一旦局面上有这些,就很可能计算出来。

2:
那Fiver6的这个能力到底有多强呢,下面举一个实战例子:
      第2图
     15┌┬┬┬┬┬┬┬┬┬┬┬┬┬┐
     14├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
     13├┼┼┼┼┼┼○┼┼┼┼┼┼┤
     12├┼┼+┼┼┼┼●○┼+┼┼┤
     11├┼┼┼┼○●●┼●┼┼┼┼┤
     10├┼┼┼┼┼┼┼○┼●┼┼┼┤
      9├┼┼┼┼┼●○○┼┼○┼┼┤
      8├┼┼┼┼○○●●┼┼┼┼┼┤
      7├┼┼┼┼●┼●○○┼┼┼┼┤
      6├┼┼┼┼┼○●●┼┼┼┼┼┤
      5├┼┼┼┼┼┼┼┼●┼┼┼┼┤
      4├┼┼+┼┼┼┼┼┼○+┼┼┤
      3├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
      2├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
      1└┴┴┴┴┴┴┴┴┴┴┴┴┴┘
   A B C D E F G H I J K L M N O

H8,H9,H6,I10,I6,I9,G9,G8,J11,I7,I8,G6,K10,J7,I12,H13,H7,L9,H11,J12,F7,F8,G11,F11,J5,K4,
       这是99日本名人战复赛的一局棋,由矶部泰山九段执黑对河村典彦九段,前盘定式完成后,黑25在J5点连三强行出头,河村可能觉得这步眠三比较厉害,如果不防的话,黑棋在右下方会给白棋制造很大的麻烦,于是就直接挡在了K4点,其实这步棋很随手(正着还是应该防在H5点,之后黑棋尚无取胜良方),因为这样防黑棋是可以赢的(一共10步的VCK)。也许河村认为上下两块黑棋相隔还远,,暂时连接不上,因此未做仔细计算或计算有误,幸运的是矶部九段也没看出来,河村逃过一劫。现在我们让Fiver6的孙悟空、唐曾、如来佛执黑试一下这个局面,有大师2的也来试试,结果你会发现..........“啊哈,Fiver6真的好棒也”(也许你会这样惊叹)。难道Fiver6比九段还厉害?可它连基本定式都走不出呀(你大概会产生一点糊涂)。呵呵,我又要笑了,我已经说过,一定要给软件定一个段级位是没什么意义的。其实就这盘棋的这个局面来说,Fiver6并不是一下子就看出了取胜方法,只不过因为它的攻击性很强,只要盘面具备进攻条件,即使暂时还算不清是否能取胜,它也会毫不犹豫的进攻,并且走一步看一步,直到它能看清时,就会一举制胜或转而防守(防守时也带有攻击性),而对矶部和河村两位九段而言,如果算不清变化时,是决不会贸然进攻的,尤其是名人战这样重要的比赛,不过假如走到这个局面时你告诉矶部九段黑棋能赢,那他肯定也会象Fiver6一样一直进攻到胜利为止。所以说,很多爱好者由于开局定式不熟,计算能力也不强,又不够耐心的话,自然屡屡成为软件棋的刀下鬼。到底Fiver6的分析深度能达到多少步呢,为什么有时候你都看出它能赢了,但它没能把那个六七步的VCT看出来,有时它却能把十几步的VCK给走出来,似乎难以理解,还是以实例来说明:
3:
     15┌┬┬┬┬○┬┬┬┬┬┬┬┬┐
     14├┼┼┼○┼┼┼┼┼┼┼┼┼┤
     13├┼┼┼┼┼┼┼●┼┼┼┼┼┤
     12├┼┼+┼┼┼┼●┼┼+┼┼┤
     11├┼┼┼┼┼┼┼┼┼●┼●┼┤
     10○┼┼┼┼┼┼┼┼┼┼○┼┼┤
      9├┼┼┼●┼┼┼┼┼┼┼┼┼┤
      8├┼┼┼┼┼┼●┼┼┼┼┼┼┤
      7├┼┼┼┼┼●┼┼┼┼┼┼┼┤
      6├┼┼┼┼┼┼┼●○┼┼┼┼┤
      5├┼┼┼┼┼┼○┼○○┼┼┼┤
      4├┼┼+┼┼┼┼┼┼┼+┼┼┤
      3├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
      2├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
      1└┴┴┴┴┴┴┴┴┴┴┴┴┴┘
   A B C D E F G H I J K L M N O
       这是一个VCF题,我们用Fiver6的猪八戒和Domini分别来试试,结果会发现它们一步冲四也没有走,都应在了I5点,道理很简单,一般软件都有一个原则,就是能两步取胜的决不用三步来完成。所以得把这道题稍微改造一下,在下面加几个子,来看看第4图:
      第4图
     15┌┬┬┬┬○┬┬┬┬┬┬┬┬┐
     14├┼┼┼○┼┼┼┼┼┼┼┼┼┤
     13├┼┼┼┼┼┼┼●┼┼┼┼┼┤
     12├┼┼+┼┼┼┼●┼┼+┼┼┤
     11├┼┼┼┼┼┼┼┼┼●┼●┼┤
     10○┼┼┼┼┼┼┼┼┼┼○┼┼┤
      9├┼┼┼●┼┼┼┼┼┼┼┼┼┤
      8├┼┼┼┼┼┼●┼┼┼┼┼┼┤
      7├┼┼┼┼┼●┼┼┼┼┼┼┼┤
      6├┼┼┼┼┼┼┼●○┼┼┼┼┤
      5├┼┼┼┼┼┼○┼○○┼┼┼┤
      4├┼┼+┼┼┼┼┼┼┼+┼┼┤
      3├┼┼┼┼┼┼┼┼┼┼┼┼┼┤
      2●┼┼┼┼┼┼┼┼┼┼┼┼┼┤
      1●●┴○○○┴┴┴┴┴┴┴┴┘
   A B C D E F G H I J K L M N O

[NextPage]

4:
再用Fiver6试试,结果这回猪八戒变勤快了,长达42步的VCF居然也很快走出来了,但这是“一眼”就看出来的吗,我们仔细分析一下用Domini时的进程,开头几十步每步棋它要思考大约五秒,但是最后的8步冲四,Fiver6的Domini都是在瞬间完成的,由此我们可以初步断定,Fiver6的最大搜索深度就是8步,也就是说,Fiver6的Domini能“一眼”看出8步以内的VCF(九段高手一见之下也得花上三五秒),对于某些棋形可能上下有一两步的偏差。其实它对于VCT和VCK的最大搜索深度也在5步左右,明白了这些,也就不难理解某些事情了。所以一个长达100步的VCF题,只要中途没有超过5步的分支,Fiver6就能顺利解决,反之就算只有20步,Fiver6也有超过50%的可能出错。有的时候当你作了一手五六步的VCF,而Fiver6没有去防,反而在不相干的地方活了一个三,你可能因此认为它没有看出你的VCF,其实它不仅看出来了,而且还看出无法防守了,这时按照它宁死也要争先的原则,就会把所有残存的冲四都走完,然后如果有的话就会活一个三(说白了,Fiver6就是一个亡命徒)。其实要使程序能算出所有的VCF并不是难事,只要用到穷尽搜索就能解决,章志强的《五子棋求道伴侣》就能在3秒之内搞定大多数VCF题,最复杂的也只需一分钟。一般的对弈软件作不到这一点是因为它们的算法一般都是一个整体,既为开局的争先服务,也为中盘的对抗和优势下的连续攻击作出分析和计算,所以不可能采用原始的穷尽搜索,都是软件作者自己编制的一些智能算法,搜索深度自然不会很高。不过呢,软件作者们的思路倒是有待拓宽,我会在后面详细谈到这个问题。
         下面来谈谈软件的顽固性问题。无论是Fiver6还是其它对弈软件,除了在开局十手棋内可能有少许变化,但在此之后的应点就始终如一了,在某一个局面下你赢了它一盘,就可以在同样的局面下赢它无数盘,这也是软件的通病。值得一提的是湖南聂丁编的《五子棋家用版》在这方面有了改进,它能根据历史记录自动改变下法,虽然它没有禁手,难度也一般,输了之后改变下法的时候总改的不是地方,完全不知道自己错在哪儿,软件的整体水平还处在初级阶段,但是软件作者的这种制作思想是很先进的,值得其他人借鉴。
         其实拥有一个棋力不错的软件是很有帮助的,象Fiver6,仅仅300K大小,棋力也很强,值得下载(很多个人主页都有提供),象本人在分析Renlib的PBeM棋谱时,就经常动用Fiver6来帮助分析各种变化,再加上自己的思考,每每事半功倍。只不过呢,那些下软件棋的人把它用歪了,影响了这个软件的名声,甚至可能害得作者也不愿再升级了,其实Fiver6如果完善一下,再去参加世界连珠电脑程序锦标赛的话,一定能取得好成绩。说起这个,我还得提一下那个世界冠军软件,两个月前我在它的主页上(作者不希望被下载,采取的是JAVA客户端的办法)和它下了一盘,我开出明星,电脑交换,我给它留下必胜点,开头几步它都走对了,之后有一步等着它未能走出,下软了,结果我抓住这个机会做棋攻杀,最后就赢掉了,其间电脑平均每步棋两分钟,我每步棋不到半分钟,有点失望,看了一下说明,原来它是解题组的冠军,在对弈组它的成绩并不好,那么它的计算VCF、VCT、VCK的能力应该很强,问题还是在开局。

5:
现在来谈谈软件制作的思路。从上面的分析我们可以看出,指望单单一个强大的算法来解决所有的问题是不切实际的,首先在开局阶段就行不通,所以还是要采取综合处理的办法。要想使程序算法在开局就走对定式在现阶段是作不到的,还不如绕开这个问题,在开局时直接调用已准备好的一个全面而详尽的定式库(包含所有基本变化和常见变招应对),在对手走出定式以外的招法以及定式完成后进入中盘时,则立刻启动其主体算法(智能计算为主),一旦局面有连续进攻的可能时,可随时调用辅助算法(穷尽搜索为主),在棋局结束后,可让程序对其进行逆向分析,分析结果会存入历史记录,一旦下次走出相同变化时就会被随即调用,上次没走好的话这次就会在合适的地方改变下法。相信这样制作出来的软件一定是厉害非凡的。
         再来说说软件棋。有些人为了能挤进一个网站的排行榜前列,为了拉帮结派,或者为了报复,或者为了寻求快感,甚至仅仅因为懒惰,而动用软件帮助对弈,这种现象现在存在很多,将来也不会绝迹。下软件棋是不会提高棋力的,反而会受到它似是而非的招法的影响,要遇到真正的高手,还是不堪一击,但有人为了那可笑的分数就是要干这种损人不利己的事,你是拿他没办法的,何况下软件棋的手法也有高低之分,真实水平比较差的,可能自始至终都在用软件,但有些人本身水平也不低,开局时也和你走定式(自己背的或是对着棋谱照搬)
,但是一到复杂局面时就会动用软件帮助分析,你又能怎样。再说,作弊的方法也不止软件棋一种,有人用不同的名字自己和自己对弈(大概此人有轻度精神分裂症),一些黑客玩家甚至擅自进入网站管理区自己修改分数,还有,联众和基地都有打谱功能,如果你在对弈时遇到算不清的时候就进入打谱室一步步拆解,这也是一种变相的作弊。总之在现阶段网络安全和秩序暂时还得不到保障的情况下,是很难对种种作弊行为采取有效监督和防范的,认输前把冲四都走完就一定是软件棋吗,非也,面对面时我也经常遇到和软件一样顽固的人。在网络里主要还是*自觉,不过下软件棋的人也不要有侥幸心理,时间一长还是会漏出马脚的。一个职业棋手,尤其是那些经常参加大大小小比赛的棋手,他是决不会下软件棋的,即使是一个中盘攻防极强的软件,首先当然是用不着,最主要的还是在于他已经形成了一个根深蒂固的独立思考的习惯,在哪里都不会改变。所以爱好者们也用不着计较网络里的各种怪现象,提高自己的水平才最重要。
         终于说到打谱软件了。对一个棋手而言,有一个功能强大的打谱软件真的是非常方便,可以免去很多麻烦。当前最好的打谱软件应该是俄国人亚历山大编的RenBase4.0,不仅界面良好,而且在主体程序及其功能附件的配合下,凡是你能想到的功能都得到了充分体现,去看看它的界面吧,你一定会和我一样流口水的,不过这个俄国佬也很狡猾,连个试用版都不给出,你只能通过邮件向他购买,大概得几十几百个萝卜吧,啊对不起,是卢布不是萝卜(不过卢布能买几个萝卜也很难说,··#¥……)。其次是DATABASE5.0,在国际连珠网上提供有免费下载,是个DOS版的程序,它有一个很适用的功能,可以按照你定好的选项来搜索棋谱,并给出当前点和后几点的使用率和胜率,其同型棋局的处理能力也很到位,最重要的是它的DBA库自带了3000多局棋谱,主要包括96年以前的几届日本名人战的棋谱,前几届世界杯的对局谱,还有其它一些瑞典和俄罗斯国内比赛的棋谱,所以很多专业棋手都用它来保存各种棋谱。然后就是瑞典棋手Arkbo.Frank编制的Renlib连珠棋谱库软件,它非常年轻,诞生于今年四月,还不到一岁,但是由于它一开始就采用了棋谱的树形分枝统一保存方法和非常独特方便的打谱时鼠标自动到位功能,一面世便受到了极大欢迎,尤其在欧洲和俄罗斯,(我记得在5月份我在“张楠五子棋天地”上将它下载打开后,一接触到这两个功能心中不禁一阵狂喜),而且作者对它也倾注了极大的热情,平均不到两个月就升级一次,从1.0到2.1版陆续增加了读取PBeM和Playsite邮件棋谱、超大容量的Extra注释窗口、非英文注释功能、棋形的同型变换、颜色和字体的选择、读取Database的buf库等功能,这也是个免费软件,爱好者们千万别放过,而且当Renlib完善棋谱管理功能(搜索、统计、分析等)之后,并能直接读Database的dba库时,那Database也该退休了。至于中文软件,当然是章志强的《五子棋求道伴侣》最有影响力,除了界面优美、自带一组定式和棋谱库外,最重要的是它强大的VCF分析功能,在同类软件中是独树一帜的,不喜欢洋玩意的老兄倒是可以选择它;吕文哲的打谱软件也有很多人在用,主要因为它的存储格式比较多。
         对爱好者来说,如果你只是随便玩玩,那就不用听我废话了,如果你非常想下好五子棋的话,就一定要从基本定式学起,网络上的资源也不少,象连珠在线和励精主页都有大量的定式及棋谱,用用离线浏览器吧,哈哈。一定要有计划的去利用,并定期进行打谱分析和网上对弈来提高自己,只要坚持下去,一定能达到很高的水平。不过有奖品的网络比赛是没必要参加的,因为嘛,损人不利己的事都有人去干,更何况......到时候你如果弄得灰头土脸的,可别怪我没提醒过你。

(0)

相关推荐