《国际象棋译文苑》文摘
 
组织计算机棋竞赛开端
 
Aaron Tay/
 
  【编译前注:美文所说的组织计算机竞赛,主要指小我私家自身测试停止软件之间的竞赛。美文不是界说式地授课,而是指引式的开端知识,由于将很快发现,软件之间的竞赛有许多不定变数的】
 
一、序言
 
  总的来说,组织计算机之间,也许说软件之间的竞赛,能够是测试,是学习,也能够只是地道的喜欢和意思。话必需说在前头,组织这样的竞赛会少量占用你的计算机时刻和计算机资源。玩不玩由你自身定了。
 
二、软硬件选择
 
  这是第一步要做的事,但难以一言而蔽之,由于都是很详细的状况,还取决于你准备运用甚么软件。若棋弈软件能运转在异样的界面下也许运用稀奇和谈使相互之间能联系上,那就简朴了,否则对照贫苦。之前曾使用野生协助输入棋步的设施,若只需一台计算机还只好用切换屏幕的笨设施,这不只费力,而且效果欠好,由于很多若干棋弈顺序很独占资源,若是这样做以至连它的棋力也非常大下落。【译注:很多若干来信说到因找不到适宜设施只好这样,而且很疑心低级的商业软件怎样还下不外旧的软件。绝不新鲜,越是低级庞大的软件,对计算机资源的独占性依托一样寻常越大,这样靠切换来走棋险些是毁了它】
 
三、用一台计算机照样两台?
 
  实际上说,运用两台计算机离别运转两个软件优于只用一台同时运转它们,由于这样确保每台计算机的一切资源只用于各自一个软件,而且这样处置责罚了软件的“同步思索功用”该不应翻开的难题[前面还要说]
  然则,为玩计算机棋而专程准备一台计算机的人不是许多吧?运用两台计算机还最好是硬件设置装备铺排一样的才平正,一台快一台慢就难办了。而且把它们衔接起来有点庞大,对手艺很多若干要求。更好的设施,多是上ICS去寻找对手,不外依然有不有益之处置责罚的问题:网上对手的硬件设置装备铺排多种多样一定有差异,“平正”难求。
  现在能够照样用一台计算机的占少数。
 
四、“同步思索”(Ponder)功用翻开照样关闭?
 
  所谓“同步思索”,下棋的人事实上一点都不生疏:当轮到对手走棋,他在想棋的时刻,你是否是也在想以后局势和能够的续着?这就是同步思索。棋弈软件,哪怕许多收费的引擎,一样寻常都有这个功用,当对方在思索时,不是走棋方的也在依据以后局势搜索、盘算、推想续着。显著当人机棋战的时刻,同步思索功用翻开比关闭能提升软件的棋力。但软件之间的棋战,状况就有争议了。
  一些人以为在统一台计算机长停止软件棋战时,双方都要关闭同步思索,因由是这样确保一方思索时将独占悉数计算机资源稀奇是CPU速率,不因对方软件也在思索而分走了局部资源。【译注:在Fritz内的引擎对战时,默许是关闭同步思索的。你能够翻开它,但正如Fritz的资助文件所说,这样意味着每一个引擎只能用到CPU50%速率。若是是50%还好,这样还算平正,但如果是由于引擎顺序设想等缘由不是呢?】
  其余一方面,一些人以为若是关闭了软件的同步思索,它险些是局部残废,不相符软件的正本相貌,由于它在设想时顺序作者一般是在一台计算机上翻开这个功用来测试的。
  譬喻Crafty有基于同步思索功用翻开的时刻治理,这样它经由历程同步思索如果能准确展望对手的下一着棋,就为以后节约了时刻。但如果是同步思索被关闭,就没这个有益之处了,效果致使Crafty在对局早段就花过于单调时刻,厥后陷于时刻重要。现在还不清晰关闭同步思索对很多若干引擎的危险是否是也象对Crafty那样更显著,曾一些人调研过指出关闭同步思索对一切引擎的滋扰是一样的,但其余一方僵持己见。
  一方翻开其余一方却关闭同步思索的状况,也许是最弗成取的,由于对计算机资源稀奇是CPU速率的共享极不屈正,软件棋战时要注重。
  若运用两台计算机,那这个问题对照有益之处置责罚,由于棋战软件之间不相互关扰抢资源了,这时刻候一样寻常应当翻开它们的同步思索功用。
 
五、选择赛制
 
  若只是两个软件,固然用匹敌赛形式了;5-10个软件的竞赛,循环赛最经常使用,这时刻一样寻常都选择预计水平差不多的软件,不外这样决出的效果,你想失掉素质性的结论更难题;若竞赛的软件许多,水平纷歧时,一般用瑞士制;淘汰制对照少用;固然你也能够使用“应众赛”的形式,让要测试的软件依次应战已知水平的软件,以磨练它的棋力。【译注:有没一些人运用擂台制?在现在手艺水平下,似乎不引荐这类赛制,由于软件棋现实上很不稳固的。固然若是是文娱那就随意了。】
 
六、选择对局时限
 
  这个义务不简朴。最最少很多若干软件是不支持局部特准时限设置的【译注:例如现阶段的Winboard就设不了多时限段】。故看法以为闪电战的参考意义远不如长时限对局,而且太短的时限关于许多软件来说由于在时刻治理上因处置责罚欠妥,随意纰漏显现时刻恐慌致使瓦解。【译注:这主若是说软件之间的对照。确实,很多若干软件只管自身棋力非凡,但在时刻治理方面似乎设想不是异常不错,比治理较好的软件更随意纰漏显现超时状况,但这主要在闪电战中显著,长对局时限则基本没有滋扰。】
  相反看轨则以为,下快棋能短时刻内完成更多对局,而谁都知道下的对局越多,所失掉的效果更有压服力。
  要注重的是,最少很多若干引擎在分歧时限下的水平分歧,象yace引擎,它在()快棋中的显示优于规范时限下,而很多若干引擎则相反。其余一要斟酌的是CPU速率,在慢速计算机上的某时限设置对局,相即是在快速计算机上的更短时限对局。如果你有兴味搞超慢时限的对局,例如运算一天赋走一步棋,让软件算得很深,那末可一瞥而预测现今软件在未来硬件上的水平显示。
 
七、选择参赛软件
 
  你面临的选择许多,而且状况多样,因而没有流动的,但我推荐其中最少要有一个棋力对照晓畅的软件,把它作为测试基准。
  另有,统一引擎同时包罗分歧版本的状况能够不太好,除非各版本之间区分很大,而且你就是要测试分歧版本之间的差异。
  很多若干测试者僵持以为参赛引擎必需能够识别50步自然限着、子力缺乏以杀棋、三次一次又一次等和棋状况。有原理,否则它们就会在官和局势里还无聊地连续走棋,徒虚耗少量时刻。
 
八、残局库和残局学习
 
  软件棋战中若残局库选得欠好,滋扰很大的。一些人以为很多若干商业棋弈软件的新版本革新,与其说是引擎增强了,还不如说是运用了更好的残局库。看法是偏激了些,但咱们绝不是否能认残局库的主要职位。许多引擎都有自身配套的残局库,很多若干测试者以为应当用原配的;其余一方面,也常有测试者运用高贵甜头的残局库。难以想象,分歧的残局库外面的内容或多或少会有分歧。
  因而有一种叫“努恩测试”(Nunn's test)的软件竞赛形式,要求肇端局势是种种默许设定好的局势,这样制止分歧残局库的滋扰。然则咱们知道,人们下棋时会选择适宜自身棋风的残局准备,故为分歧引擎设想能使它展现最大效能的残局库也是能够体谅的,残局库应视之为软件的完整组成局部。况且努恩测试也有它不完善的一面。
  至于许多引擎所具有的“残局学习”功用该不应翻开,稀奇是一方有此功用而其余一方没有的状况下?我小我私家看法以为应当翻开,由于这个没有对对方组成阻碍。
 
九、哈希表的内存分配
 
  一般状况下,若是你在统一台计算机上让引擎对战引擎,两个引擎所设置哈希表的内存占用总和为系统一切内存的一半。【译注:指物理内存,不斟酌虚拟内存】
  要指出这只是对低内存系统[例如缺乏256MB]的限制。由于Windows细叱自身占用内存数目更改不大,因而若是你的内存够大,就没需要遵照这个“50%”划定礼貌。512MB内存的设为双方占用总数到达420MB也没有问题。
  要分配若干内存,对局的长短也有相干,这个前文也说了。太大的哈希表关于闪电战资助不大以至反而晦气;长对局时限才要求更大的哈希表。
  一样寻常来说人们为了追求平正,在为对战引擎双方分配内存时是使用对半中分的要领,人人数目一样。不外若是看过前面关于哈希表的美文,你应当也知道事项还不是那末简朴,还很多若干变数待定。【译注:以是改用设置装备铺排一样的两台计算机长停止,可制止很多疑心】
 
10、自动停止循环赛
 
  若是你运用Fritz(界面),它内建支持自动停止循环赛功用;若是你用Winboard,现在的Winboard没有带这项功用。不外,若是你只是让两个引擎之间停止一定局数的匹敌,能够以下令体式格局启动Winboard,加上 /mg 参数。【译注:Winboard的下令行参数是Winboard其余一个让人以为有趣的中央,能够完成很多单纯图形体式格局不轻易完成或完成不了的支配,值得较熟练者去研讨】
  异常谢谢Peter Berger寄给我一个批处置责罚文件,运用它能够在Winboard上自动停止引擎之间的循环赛,适宜不熟习批处置责罚的读者参考运用。【译注:每一小我私家具有的顺序和寄存的情况一定纷歧样,以是该文件没需要供应下载;想用的请到
http://www.aarontay.per.sg/Winboard/batch.html参考谁人案例后,闻一知十修正而用。其余为轻便,可斟酌用Arena或其余支持Winboard引擎而有赛程放置功用的界面,例如chesspartner来做】
  循环赛的赛程表,你能够自身编;若是不熟习,看看这两个工具是否是有点资助。
ftp://cap.connx.com/pub/tournament_software/roundrobin.exe
ftp://cap.connx.com/pub/tournament_software/tourney.exe
 
11、顺序瓦解的处置责罚
 
  比胜历程当中也许有软件无故瓦解的事项发作,你要有决议确定,是该判效果,也许重下?对照顺手的状况是一方正本就要胜了,却在这时刻瓦解。
  一些人僵持以为若是一方显著胜势的,瓦解了也应判它胜。然则,许多人(能够大少数?)不赞同这点。就如人类竞赛一样,连棋都不走了自然应算他输;其余如果软件瓦解了也可判赢,那对引擎的作者写作引擎时也能够发生欠好导向。
 
12、比胜历程当中的更新和修补讹夺的处置责罚
 
  这在CCC网站(Computer Chess Club)曾有很大狡赖,那就是竞赛还停止时是否是能够更新软件。【译注:这里的“更新”更多不是指显著升级到新的版本,它能够只是一般中央调整,也许修正一些BUG
  一方以为若是是分歧引擎列入的竞赛,这样做同等于结果有效,相即是人类比胜历程当中换人。其余若是允许这样做,那末就有能够显现面临特定引擎而有重点一定性地选择分歧“克星”版本的状况。
  然则,在很多若干正式的计算机国际象棋赛中,例如WCCC联赛,还真允许这样做的!引擎作者能够依据分歧对手选择分歧残局、调整参数等,希冀在面临分歧对手时有最好敷衍。人类棋手也是这样,会依据分歧对手调整分歧战略。
  纵然这类更新没有选拔软件的棋力,而只不外修补了它的一些顺序设想小讹夺以预防瓦解,很多若干人照样以为不应当,由于他们以为讹夺是顺序的一局部,应当一并斟酌。但这个看法再次遇到相反看法,他们以为若是一个低级的顺序讹夺致使软件一而再地瓦解【而且由于这而判负】,那另有甚么用?
  这个问题也许没有一定谜底的,取决于你的希图。不论你使用哪方看法,最好是事前就一定上去而且不带私看法执行。
 
十三、盘算显示品级分和宣布效果
 
  若是依据竞赛效果盘算品级分,能够用这个工具Elostat【盘算品级分的工具另有其余可选择】http://www.amateurschach.de/schach/download/elostat/elostat_11b.zip
  至于宣布效果,倘使你只是小我私家测试或文娱,那公不宣布随你愉快的。倘使想和他人共享交流,能够宣布在网上,滋扰较大的有 Winboard Forum
(http://www.f11.parsimony.net/forum16635/)Computer Chess Club [CCC]
(http://www.icdchess.com/ccc.html)【译注:固然,中文读者宣布到中文国际象棋论坛也能够,只需有同好者就行】
  依照老例,宣布软件竞赛效果要供应以下信息:
1) 运用的CPU速率;
2) 同步思索有否翻开;
3) 对局时限;
4) 每一个引擎分配的内存数目;
5) 是否是运用了残局库,运用了哪种级别残局库。【译注:是的,原文没有谈到是否是运用残局库的问题】
  其余的,你可自己注定是否是加入需要指摘和看法,指出你以为的长处和瑕玷,包孕顺序设想上的瑕玷,稀奇是在协助测试软件时。至于对局自身,倒纷歧定要悉数宣布于论坛,除非你以为很稀奇的那些。
 
  出处:Aaron's Winboard and Chess Engines FAQ
  译者:michael
  类型:略有删省
  • 上一篇 人机大战:魅力无限
  • 下一篇 先进国际象棋
  • 返 回 象棋百科全书——计算机象棋
  • www.xqbase.com