任何一种棋的平衡测试都很重要,特别是新棋,在定型之前一定要多做测试。如果发现先手或者后手必胜,这种棋就必须再改进。
组合象棋已经诞生四年多了,我还没有做过软件测试。现在亡羊补牢应该还来得及吧。在这里,我要十分感谢台湾的outlookxp大师,组合象棋zog化编程就是outlookxp大师完成的。虽然软件的智能程度不是很高,有很多排局就不能破解,但当每着思考时间为三分钟的时候,软件所走的招法还是相当有水平的。我准备利用空余时间让电脑自战,先计划一百盘吧,看看双方的胜负会不会出现一边倒的情况。我希望的最理想效果是:当测试的盘数足够多的时候,黑白两方的胜负各为百分之五十,而和棋的机会几乎为零。
组合象棋的特点是:开局灵活,中局复杂,残局简单。组合象棋是一种以传统为基础的新棋,第一步可以走任何一个棋子,它是所有象棋类游戏中开局最灵活的。到底开局应该遵循什么原则,我还在摸索之中。我以前做过疯狂的弃子开局实验,也做过疯狂的让子开局实验。虽然收获不大,但成绩还是有的。
我这次把开局中局都交给软件自己战斗,只是在残局的时候,有时可能会人为干预一下。主要是由于软件本身存在缺陷,在残局阶段走的不是很好。例如下面测试的第一局,黑方只剩两兵,白方多一炮一象,软件还在拼命地谋划黑兵,结果浪费了大量的步数。其实白方完全可以让王尽快参加战斗,把黑王逼到绝路。如果是人与人之间的战斗,黑方早就认输了。为了让明朗的局面快点解决战斗,在残局的阶段,我会帮一方走几步。
测试第一局每着的时间是三分钟,在复盘的时候,我发现第四步,白方明显弃马,黑方为什么不吃?重新走第四步,黑方还是不吃。直到把思考的时间调整为每着10秒的时候,黑方终于选择吃马。我很好奇,这样发展下去会怎样呢?就用每着10秒的时间设置,继续让软件自己战斗,结果发现黑方速败(见测试第二局)。
为了保证测试的质量,每着的时间还是设置为三分钟比较合适。不过这样一来,我的电脑将会很辛苦!这是一项巨大工程,还是慢慢来吧。
我计划先公开用软件自战的方式进行测试,然后再用人机对战的方式进行测试。希望通过严格高要求的测试来发现组合象棋的不足,并有的放矢地去改进。目的是想让组合象棋成为一种接近完美的新象棋。
组合象棋跟传统相比较主要就是串杀不同,而且规则非常简单,相信大家都可以看的懂。同时希望棋艺高手们,如果发现软件的着法有明显的败招,还敬请批评指正。
注:测试第1局(每着的时间是三分钟,残局有人为干预)。
测试第2局(每着的时间为10秒,无人为干预)。
测试第3局(每着的时间是三分钟,无人为干预)。

