关于对象棋软件引擎的棋力的看法
现在外面象棋软件版本很多,有普通版本,高级级本,密版,豪华版,开发版,测试版,等等,到底是不是依次增强呢,我作为一个软件作者,不作具体的评价.
我个人发表一个用来比较引擎的最实在也是相对可靠的方法,那就是同机脱谱胜率.我在这儿解析一下什么时候叫同机脱谱胜率,同机,就是在一样的机器条件下,用不同的引擎来测试.脱谱胜率,就是引擎在脱谱第一步,如果引擎认为没有落后很后很多,比如我的引擎认为得分在-50分以上时,最后得胜,和,与负的比例,这个比例越高,说明引擎越完善.
引擎的综合表现是由很多方面来决定的,我想影响因素如下:
1,机器,同一个引擎,当然机器越强,算的越深,相应的棋力也会有所提高.据我的测试,快棋,一般来说机器提高一倍速度,相对应华山1个级别左右,也就是说如果引擎6300,2U 1.8G可以打到天罡,那么6300,2U,超频到3.5G左右,这个引擎打到无极是没有任何问题的.这也是佳佳象棋在引擎的计算速度上多作考虑的原因.
2,开局库,有很多专业棋手,会有自己的开局库,也就是所谓的飞刀,绝招,如果引擎脱谱后,连引擎也认为自己落后很多,比如佳佳认为自己落后-100分以上,那么要想让引擎翻盘,是有相当困难的,当然如果引擎在很多情况下,能反劣势为优势,这就是很流行的说法,这个引擎中局力量强大.但你不要希望引擎会一直这样,因为那是别人的引擎不完善的地方,如果别人的引擎完善了,或者你和同样的引擎下,你就会发现翻盘机会越来越少.一个好的开局库,可以帮引擎提高200~300个ELO左右,也就是相当华山慢棋的一个到二个级别,可见库对引擎的影响还是相当大的.特别是对中象这个选择棋步少的棋软来说,开局库更显得重要一些.一个好库,不可能是会一定让引擎会沾光的库,是让引擎走出不落陷阱的库,也就是平衡的库,才是好库.很多棋友在做什么无敌的库,我认为不太可能,如果靠库先手一定会胜的话,那么象棋也就没有存在的必要了.象棋的最高境界是和棋,也可以是双方平稳的和,也可以是双方在中局急战成和,这才是象棋真正魅力所在.所以佳佳一般不提供所谓的强库,实事上也没有一直强的库,一个库用久了,人家研究出了相当的应招,这个库也就平凡了,世上没有一直让你沾光的库,这是真理.
3,引擎本身,包括二个方面,1,引 擎对各种局面审局的完善程度,具体的表现就是体现在引擎分数的变动,如果老是忽上忽下,引擎审局分让人琢磨不透,那么这个引擎的审局,搜索是有相当的问题存在的.这也是每一个棋软作者需要不断完善的地方.2,引擎的搜索效率,也就是同样的局面,引擎要多长的时间才能得出正解,我认为,好的引擎应不是通过简单的减少剪枝,强机的体现的.国象的Rybka,用单核的机器,ELO也能达到2800分以上,这也是了不起的成就.也是一个引擎的能力的体现.
我在这儿要说明的另一个问题是,没有不败的引擎,所以有时看到人家一听某强机的什么版也负了,不要大惊小怪,这是正常的,抛开开局问题不说,引擎总有盲区,关键是盲区的多与少.此时如果有使用此引擎的人员能将一些认为引擎走的明显不对的地方,发给作者作为参考,对作者今后引擎的更改会有一定的帮助.
还有就是如何设置引擎的问题,我认为一般用户除了引擎的HASH外,其它的设置没有太大的意思,我的引擎有上千个可调的参数,但我从不建议用户自已去设置,为什么呢?1,这些参数本身对引擎的影响,比较复杂难理解,2,作者一般是用的最平衡的设置,也就是考虑大多局面的情况的设置,有些用户一看,改了某个引擎的参数,一些局面很快解出来了,就认为改强了,这个想法不好,也不正确.引擎的完善不是靠改改参数就行了.是由算法,审局来决定的.按下葫芦,起了瓢这个道理,想必各位都知道.要是用户一改就强,那么作者远比你对他的引擎了解,为什么他自己不改呢.,所以这也是佳佳不提供引擎微调参数的原因,当然也会少了些DIY的乐趣.
最重要的一点,就是要以平常心来对待引擎,引擎的发展是要长期的开发与努力的,中象棋软的发展与国象的成熟还有相当的距离,离不开各位使用棋软的棋友对作者的支持与鼓舞.
(来自 http://www.ggchess.com/ 佳佳象棋作者lovechess的原文)