《国际象棋译文苑》文摘
 
残局库对引擎棋力的负面滋扰
 
Aaron Tay
 
  说EGTB(残局库)有能够下降棋弈引擎的水平,这乍一听起来似乎违犯了知识。关于全套的345子残局库终究对引擎的水平有多大资助也许是有狡赖,很多若干人以为能提升50个品级分,很多若干人以为最多20分,以至很多若干人以为没有任何提升资助(曾有测试指出Crafty用或不用残局库,棋力并没甚么素质性分歧)。持最终一种看法的以为应取决于设想引擎时给它加入了若干残局知识,不外用上残局库也应当不会对引擎有阻碍。但读完此文你会发现,在很多若干局势里运用残局库确实会致使棋力水平的下降,也许使引擎为寻找最好着法所花的时刻更长。现在6子残局库还不大使用,本文只研讨5子及以下的残局库。以后的随手艺提高以后再说。【译注:而且本文只主要说最经常使用的Nalimov式残局库】
  你能够以为那些局势很少显现而漫不经心。要说明的是,咱们以为残局库的运用能提升引擎棋力,是由于引擎不只在局势以前显现时、而且能够还在搜索时就能够调用它们【译注:即哪怕以后局势虽然在残局库里没有,但如果是即将进入了,因而引擎在停止更深搜索时就以前能够预先探测调用相关残局库了;搜索(search)指只凭引擎的算法停止棋步寻找盘算;探测(probe)指对残局数据库停止棋步寻找探查;最少在本译文中这样界说】。但我也能够指出,这很多若干重点要点反而能够阻碍引擎,致使抵消以至损伤运用残局库的优越性。这里列出一些残局库怎样下降棋力的能够性(从最细微的到最严重的)
 
1) 不完整的残局库
 
  这是第一个能够性。以前“很著名”的了,制止设施也随意纰漏,要末运用完整的,要末在引擎设想时处置责罚。之前的美文已谈到过这个问题。
 
2) 残局库不斟酌王车易位
 
  Nalimov式残局库是不斟酌王车易位的。
  如图1局势,黑先,条件是后翼易位还可行【译注:以是若是你在自身的软件上摆这个局势测试时,一定不要遗忘设定易位能够】
 
 
  效果Winboard下的运用了有关345子残局库的Crafty18.13会走 1..Kxd7?。异常新鲜,它以为 2 0-0-0+ 以后白方17步杀是以后局势的最好线路!
  如果去掉残局库,Crafty会走 1.. Kd8,然后白方面临h兵的升变要挟,最苟延残喘的是 2.Ra8+ Kxd7,因而随后简朴的15步杀。效果现实受骗前局势不是白方,而应当是黑方的17步杀!
  我以为这样的局势极稀有(试问人人见过频频到这样残局了还留下易位权益的吗?),以是倒没需要过于不安。其余引擎设想者也能够有所改动,加入搜检易位权益以免这个问题。
 
3) 残局库不斟酌50步自然限着
 
  我以为这个问题大很多。
  如图2局势,白先。
 
 
  在短思索时限下,Crafty要走 1.Rxf5 Rxf5,然后依据王车象对王的残局库所示,是白方65步杀。惋惜依据FIDE划定礼貌,黑方可依据50步自然限着划定礼貌要求和棋的。关于一切要求凌驾50步才气胜的残局库(固然条件是时期没有吃子和没有走兵),这个问题都存在。已往FIDE曾专为一些稀奇的残局放宽过限制(譬喻王双马对王兵),但厥后又一致为都是50步限着。
  然则这个局势一定是和棋吗?现实上,若是你让Crafty想得足够长时刻,它就会发现先有48步杀(1.Kd8),进而发现23步就杀(1.Kd6);其余一个引擎Gandalf更发现 1.Kd6 以后17步杀,因而咱们知道最少有17步杀存在!主变是 1.Kd6 Kg7 2.Rf4! Rxf4 3.Bxf4,然后……这是我见过的最短线路,只管一定敢说没有更短的线路。
  要注重的是,只管这个问题是由于Nalimov式残局库属于DTM类型的库。至于DTC类型的残局库,虽然实际上应可处置责罚这个问题,只需在统一个库里搜检一直的杀棋没有突破50步自然限着就可以。然则,以后的托普森残局库也没斟酌这一点。至于其余类型的残局库斟酌了50步自然限着,但又有它们自身的问题。
  似乎除了让引擎晓得若是在残局库里找到了能杀但却是突破50步自然限着的线路,就连续搜索,之外引擎作者还难以找到其余处置责罚设施。别说这只是局部的处置责罚,而且该法自身另有很多手艺难题。
 
4) “晓得太多”的为难
 
  由于有残局库,引擎有时会由于“晓得太多看得太远”了反而显现为难状况。例如,装有残局库的一方引擎在残局库里发现自身要输棋,它就能够够过早投诚;问题是对方(人也许没有装残局库的引擎)却纷歧定知道怎样杀的【译注:例如要冗长几十步以后才气杀且很欠好找到正着的那些局势】。相似的为难另有,某个局势里如果走某个转变取胜的时机到达99%,对方只需在最准确的戍守下才气和棋(若是没有残局库将异常难题);然则正由于残局库就是指点最准确的转变,效果持有益一方的引擎由于发现在这“最准确”的转变里一定成和,因而就会抛却这条有99%取胜时机的线路。
  不外严厉来说,这也欠好怪残局库,稀奇是你要追求100%客观着法的时刻。某些状况下,险些一切引擎,不有效没用上残局库,都邑由于看得太远而出这些“过于准确”的为难。
 
5) 残局库下降了搜索速率
 
  由于要在残局数据库里探测,以是引擎的搜索速率下落。这个效应很难评价。咱们知道探测数据库会下降引擎的每秒搜索速率,一般使单元时刻内搜索的深度下落【译注:残局数据库是寄存在硬盘上的文件,搜硬盘固然比在CPU和内存中运算慢许多;这主若是以后硬件手艺注定的】。有时搜索深度下落,但由于运用到了残局库,也能找到好棋。问题是在局部门支转变里找失掉好棋一定能抵消搜索速率周全下落的负面滋扰吗?在还没探测到残局库末尾的状况下搜索速率周全下落意味着引擎思索短浅很多;如果以后探测的实际上是没有用的局势,基础不会发作的也许能制止的,这类时刻搜索速率周全下落的负面滋扰就大了。
  这个问题若是在引擎-引擎之间对战状况,就只能经由历程公用测试局势来处置责罚。以前有一次残局才气测试,包孕7种商业引擎,运用了10个公用残局测试局势。引擎(轮替)分红一方用残局库其余一方不用,残局库包孕悉数5子残局。测试效果,用残局库一方仅以1分之微险胜不用残局库一方,70.5-69.5
  然则,人们发现在其中某些局势里,不用的那一方显示得比用的那一方更好!把其中一个看来异常要求残局库的局势拿走(在这个局势的测试里用的一方大胜),余下9个局势的测试总效果,却是不用的那一方以66-60大胜!
  不用残局库的一方结果最好的是图3局势,黑先。
 
 
  固然咱们能够看出,仅仅拿走一个测试局势就致使结果逆转,可见测试局势的选择有很大相干。但这个测试依然充分说清楚明晰关于某些引擎和某些局势来说,用上全套35子残局库确实下降了引擎的棋力水平,而不只是有无用用那末简朴。
  【译注:译者也曾在本站留言簿发过一个棋图局势,如图4白先。
 
 
只需很多若干心得能够看出白方走哪步胜,低级的引擎也很快看出这步(其余一步1.Nf3也行),但条件是不要用残局库;若是给这些引擎挂了残局库,效果是啼笑皆非的——虽然也不能说它们一定错。试试?】
  我以为要求做更多的测试,测试更多的局势和运用更多的引擎。我没有设施细分每种引擎来说,以是若是有引擎设想调试得用上残局库悉数都显示得好也不是不能够的。
  其余,若用5子残局库,要注重优选要领多是也装上其残局库子集。似乎运用4子残局库很“平安”,其余再加上王车兵对王车残局库吧,它很常显现。【译注:所谓“残局库子集”,是指上一级残局库演化而来的种种能够残局,模范的例如王兵对王兵,如果兵有能够升酿成后、车、马、象,那末残局库子集就是王后对王兵、王车对王兵等等类推,由于Nalimov残局库每一种残局文件总是一白方一黑方成对显现下载的,以是只需成对下载,终究是哪一方升变就不用专程斟酌了;否则若只需王兵对王兵残局库,却没有王后对王兵等子集,如其余美文说过,很多若干引擎到此会显现懵懂的;到译此文为止,不知道这个问题有若干引擎已处置责罚了;大可一试】
  有一个状况要注重,下面说到的残局库削弱引擎棋力水平的五种状况(能够要除去第一种),只会是当引擎在搜索的同时又以前最先停止残局库探测的状况下,才会发生所说的负面滋扰。若是以后局势以前抵达了你残局库里所具有的局势,就不会显现上述负面问题。
  有研讨者提出的推荐很有意义,若是引擎能够让运用者指定在引擎搜索历程当中去探测哪些残局库(最梦想的是探测那些光靠引擎自身的通例搜索和内建知识还不能异常不错处置责罚的局势),以及指定局势到了哪一个阶段才去探测残局库(其余的就不探测),那就太好了。
 
结论
 
  我希冀这篇美文不会吓得你不敢用残局库了。我小我私家以为,上述五点除了最终一点,其余的都不大能够有显著滋扰,纵然是最终一点也还要求更多测试去说明。我自身照样会用全套的残局库。
 
  出处:Aaron's Winboard and Chess Engines FAQ
  译者:michael
  类型:略有删省
  • 上一篇 棋弈软件根蒂基本——残局库
  • 下一篇 国际象棋顺序设想():引言
  • 返 回 象棋百科全书——计算机象棋
  • www.xqbase.com