如何科学地测试引擎?

来自皮卡鱼 Wiki
跳到导航 跳到搜索

返回“棋软知识”

科学的引擎测试,要让引擎处于相同的机器下,用一个测试工具、双方测试条件和设置一致、用数量足够多的多样化开局局面、并确保是纯引擎计算出招(部分引擎对主流局面可能有内置开局库),每个局面进行分先测试,最好不要开后台思考,并尽量排除可能的后台程序干扰、排除引擎之间的棋规分歧棋谱与界面和引擎之间的棋规分歧棋谱。

最好不用超线程,除非只开一桌而非多开。并且排除可能的多路CPU调度问题。

并且测试数量要足够多,避免误差,例如几千局,最好使用统计学工具。如果差距过小甚至要至少几万局。

另外,建议采用局时加秒制测试,引擎会根据局面复杂度等信息自行分配思考时间,可以减少不必要的思考,相同用时下的棋力也更强,除非引擎的时间管理太差。

测试的作用是放大引擎之间的棋力差异,所以如果引擎棋力接近,一般采用优势局面分先测试,优势局面分先更能放大棋力的差异、减少通过误差所需的时间。