日升家园

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 441|回复: 1

中国象棋软件引擎审局揭秘系列2

[复制链接]

864

主题

1936

帖子

2191

积分

理事长

Rank: 9Rank: 9Rank: 9

UID
39
精华
0
威望
3
贡献值
24
金币
21325
在线时间
1237 小时
注册时间
2013-8-28
最后登录
2021-7-19

优秀版主论坛元老

QQ
发表于 2013-10-25 14:03:05 | 显示全部楼层 |阅读模式
 人工智能系列--如何测试如何测试你的引擎:
引擎的测试枯燥无味,而且需要花费大量的时间,在这里提供一些方法,希望能够帮助大家减少无谓的工作量,多一点享受生活的机会。

      首先,引擎的测试,需要有参照物,一个成熟的坐标,是成功的关键,我推荐象眼,开源的帮助是巨大的,你可以对他做出自己喜欢的定向修改,提取自己喜欢的数据。

      1. 引擎的实现次序应该是: 框架(保证速度)->引擎->审局。
      一般来说,如果nps差别没有几倍,是引擎的棋力还是相当接近的,我测试nps提高30%~50%,在对战中,胜率的比例变化不大,所以,首先保证你的引擎,nps和别人接近吧,注意,这里的nps指纯子力表nps

      2.
      开始引擎的测试了,首先,把审局去掉,然后,减少加速的方法,嗯,尽量把可变因素降低吧,跟着,开始测试2分钟限时,5分钟限时,10分钟限时的胜负比率,你会发现,原来时间对胜负比率的影响是有限的,OK,选一个最短时间做为测试样本吧。

      2.1
      对中断的测试,引擎出步,限制时间,会引起中断,但是中断往往会耗费大量的无效时间,控制不要中断,中断的计算是无效的,根据当前情况,决定是否需要下一层计算吧,这样才能提高测试的准确度

      2.2 注意搜索的节点数,这个是考察测试有效度的重要指标,都只采用子力表,搜索10层,别人只用了你的1/3节点数,你不应该怀疑自己的搜索效率么?

      2.3
      测试fhf,即第一棋步返回率,OK,这个指标应该可以高达90%以上,当然70~80%的fhf对棋力影响也不会太大,但是,你的搜索效率是不高的,对么?

      2.4 注意quiet节点和fullsearch节点的比例,这两者的比例可以进一步提高搜索的准确度,不要让无聊的剪枝,影响了这两者的比例

      2.5 把盘面和搜索路径打印出来,并且可以恢复,这样才可以连续测试,并且比较自己引擎和别人引擎的分析差别

      2.6
利用对战工具,看看自己的对战失败原因吧!是一直被别人压着打,还是突然跳水?哦,如果跳水,那就是剪枝出问题了,别人搜索到了一个你没能搜索到的棋步

      2.7 ....

      3 当引擎成熟以后,再尝试添加审局吧!
                                                                                                               作者:fenon
在攻与防的對立统一中寻求突破...
回复

使用道具 举报

1

主题

42

帖子

42

积分

一星会员

Rank: 1

UID
1775
精华
0
威望
0
贡献值
0
金币
117
在线时间
5 小时
注册时间
2014-4-9
最后登录
2014-4-22
QQ
发表于 2014-4-11 13:19:12 | 显示全部楼层
学习了。。。不懂
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|日升家园 ( 蜀ICP备18009257号 )

GMT+8, 2024-5-17 19:58 , Processed in 0.128699 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表