象棋和棋情况下,评判软件水平高低的方法——以皮卡鱼软件为例
象棋和棋情况下,评判软件水平高低的方法——以皮卡鱼软件为例
随着象棋软件的不断发展,顶尖软件之间的对局越来越难分胜负,和棋现象日益增多。本文提出了一种新的评判标准,通过计算棋子的数量和质量来区分软件水平,并通过实验验证了其有效性。
伴随着象棋软件的更新迭代和相关数据的积累,顶尖象棋软件的对局正在面临越来越尴尬的情况——一胜难求。如今,许多象棋软件对局都是和棋,大家打来打去却难分胜负,让一些人玩过几盘后便索然无味。
可以预见的是,象棋软件发展的尽头是和棋,即便在纯人对战之中,和棋太多的问题也很难处理。在这种情况下,变更相应的输赢评判规则也是时代所需。
和棋下水平评判方法
在强软和弱软比赛的和棋谱中,我们很容易发现,虽然都是和棋,但强软棋子的数量和质量大概率是要优于弱软的。
本文所给出的和棋判断水平方法,是在棋子的数量和质量的基础上,进行评分比较。当然,棋子位置也很重要,不过这是很难去量化的,而且在和棋情况下,位置的重要性也降低了。
根据和棋棋子的数量和质量以及相应位置,笔者给出了以下软件和棋评判水平的标准:
车为9分。
马为4分。
炮为4.5分,或者4分,代考。
士相为1分(为了避免消极比赛,在软件对局中,士相为非进攻棋子,为1分更为恰当。)
兵卒分两种,过河高兵为2分,未过河和底兵为1分。
黑棋加1分。
纯人对局里,士相为2分,黑棋加1或2分有待考证。
在分胜负的情况下,无需计算子力分数。
在和棋的情况下,可以通过计算子力分数的高低来区分软件水平。
如图
红:底兵+1,相+1共2分
黑:士+1,后手+1共2分
他们是均势和棋,预估软件水平相当。
红:仕相共3分
黑:士象4分,后手1分,共5分
所以黑优势和棋
红:7分
黑:5.5分
黑优和棋
可看出“猫猫吃鱼”软件水平更高。
象棋先手优势约为一个未过河兵
这里解释一下为何黑棋+1分。
为了比赛的公平,我们需要计算出来先后手之间的水平差距。
根据上面的评分方法,在相同软件相同配置的对局之中,执红和棋的子力分数比执黑和棋高约1分。
实验使用皮卡鱼11月和12月版本,同版本同配置对局50局,采用60+0.6计时,1核128hash,均为和棋,红棋子力分数减去黑棋子力分数的平均分为1.02,基本可以说先手有一个未过河兵的优势。
所以和棋比较子力分数时,黑方应该加上1分。
在比赛中如何计算成绩
常规计分方式:赢棋+2和棋+1输棋+0。
笔者所想的和棋计分方式:
赢棋+2,输棋+0,和棋子力分高+1.5,分低+0.5,分数相同+1。
顶级象棋软件的比赛,几乎都是和棋,这就很难评判软件水平的高低,这也许就是最近几年软件比赛日益减少的原因之一吧。
然而,加入和棋计算子力分数的规则,这既有利于象棋软件业的发展,也有利于增加比赛的观赏性(大家也可以利用这项规则进行和棋后的博弈)。
优势和棋计算子力分数的科学性
和棋后,计算子力分数是否真的能够反映软件的实力呢?
我们可以通过实验来简单验证。
根据上面的表格,我们可以知道皮卡鱼1226的LEO等级分比皮卡鱼822版本高了200多分,这之间还有919、1001、1020、1111,我们都将它们和皮卡鱼1226版本进行对战,采用60+0.6计时,分别对战十局,积分方式分别采取常规积分与和棋优势积分两种,相关的数据如下。
常规积分:赢棋+2和棋+1输棋+0
和棋优势积分:和棋子力分高+1.5,分低+0.5,分数相同+1
我们可以看到,随着引擎版本的接近,两者积分差距都在不断缩小,变化趋势大致相同。
对于常规积分而言,到了1111版本,基本上都是和棋了,如果以后软件进行更新的话,那么只会有更多的和棋,很难直观的区分软件的水平。
对于和棋优势积分而言,它可以说是像一个放大镜,将常规积分的差距拉大了,让我们能够更加直观比较软件的水平。
对于第3组数据,是因为有一局1226版本输了,这种基本上是由于软件跳水的缘故。另外笔者感觉1226版本在快棋比赛中可能并没有1111版本的优势大。
当然本次实验的规模比较小,相关的结论还有待进一步的验证,但确实能够对象棋和棋这个难题提供一些解决的方向,如果有感兴趣的象棋软件爱好者,欢迎进行相关的数据验证。
有些问题是需要大量的数据进行验证的,比如在和棋的局面下炮的分数应该为4还是4.5分呢?当然在开局和中局的时候,炮自然是比马值钱的,但在残局阶段,马的作用要比炮大一些。(本文中的数据是按照炮4.5分来计算的)。比如中局不变作和的情况有必要进行子力分数的计算吗?