《国际象棋译文苑》文摘
 
残局库
 
Aaron Tay
 
  A1. 甚么叫残局库?(endgame tablebase,简称egtb)
  概述性地说残局数据库是贮存了残局局势[经回溯剖析盘算过]的数据库文件,它运用在棋弈顺序上,当进入残局时只需适宜运用的残局数据库文件存在,顺序将走得异常完善。
  少数棋弈引擎并纷歧定要抵达残局库所涵盖的局势时才运用残局库。譬喻,在抵达这样局势之前几步,引擎盘算(但还没走棋)一系列交流以后直接进入残局库里存有的局势。引擎因而搜索探查残局库并取得谁人想象局势的效果。这样固然提升了棋力。
  【译注:作者说他不熟习残局数据库的手艺细节;译者也不熟习,那也要求一天命学和顺序设想根蒂基本。但作者的注释难免难免也太甚简朴些了,无妨试着这样注释:残局库是经稀奇算法发生的特定花样的、贮存各限制棋子数目的残局之一切局势及其估值的数据库文件调集。例如王+车对王的最简朴残局,其响应数据库文件就贮存了由这三个棋子在棋盘上组成的一切能够局势及估值,以是政府势抵达王+车对王局势时,引擎就直接在数据库中搜索、对照局势并掏出响应估值,这样它“想都不用想”就知道该怎样走。由于制造残局库文件时,用回溯剖析盘算过一切局势,得出最好效果,因而按残局库里的走法走一定应的残局是最准确最完善的(这是对及格残局库的要求)。以是运用残局库非常大提升了引擎走末段残局的棋力--险些不花时刻盘算且又走出最准确的棋步。现在,棋子数目最大的是六子残局,即双方剩下棋子加起来一共六只,不论甚么搭配(显而易见,双方各有一只王加起来就占了两子)。】
 
  A2. 有若干种残局库花样?相互有甚么分歧?
  有林林总总的残局库花样,包孕肯·托普森式(Ken Thompson)、史蒂文·爱德华兹式(Steven J. Edwards)、欧根尼·纳利莫夫式(Eugene Nalimov)以及Chessmaster9000公用的EDGB残局库花样。
  不外总的来说它们离别为两种残局库类型:将杀步数(DTM)类型和调换步数(DTC)类型。大略地以非专业言语来说,相互之间区分以下:
  将杀步数(DTM)类型:即Distance to mate,这种类型的库为每一个局势贮存最短的将杀能够(以层,即ply来盘算,一层相即是半个回合)。譬喻Nalimov残局库。
  调换步数(DTC)类型:即Distance to conversion,这种类型的库贮存每一个局势及其一个“调换”之间的最短层数。所谓一个调换,指也许是兵升变,也许某子被吃去,也许显现将杀。譬喻Thompson残局库。
  其余,不论是DTM照样DTC类型的残局库,都不能识别50回合自然限着划定礼貌。为了战胜它们的瑕玷,以前提出了DTZDTR其余两种类型。但至今只停止在实际上。
  说到详细每种花样的区分,还不能简朴就说得清晰的。Crafty的作者于200010月在音讯组作过以下注释:
  “Edwards式:属于将杀步数(DTM)类型。Edwards式的主要问题是这类残局库体积比其余的重大。
  “Nalimov式:也属于将杀步数(DTM)类型,但Nalimov式的残局库文件是收缩的,也能够以收缩形式运用而无晦气的中央。关于具有悉数345子残局的残局库,其余花样其文件总数巨细凌驾30G,而运用这类花样的约莫只需7.5G
  “Thompson式:属于调换步数(DTC)类型(每当发作吃子,残局的‘级数’都变小)。这类花样难以以收缩形式运用,一定Nalimov式,它供应的信息也纷歧样……例如,它通知你一些信息,却没有区分是负照样和,而Nalimov式对此则有区分。
  “Nalimov式是最好选择。险些每一个引擎都支持它……”
  固然,他没有提及仅是Chessmaster9000公用的EDGB花样残局库,由于EDGB20028月才公布的。Nalimov式依然是最盛行的在用残局库花样,因而我想再多谈一点这类花样。
  Nalimov式几近“完善”,由于它把吃过路兵也斟酌出来了。然则没把王车易位也斟酌出来。只不外,也许只需排局迷才会对此计算。
  总的来说,现代险些一切的国际象棋顺序包孕大少数Winboard引擎运用Nalimov式残局库,一局部缘由是它们不设版权,一局部缘由它们更高效。现在Nalimov式残局库以前出了局部6子残局库。Nalimov式残局库有两种形式,收缩的和非收缩的,收缩的以“emd”为文件后缀。
  少数现代棋弈顺序能解压运用收缩的残局库,譬喻Crafty16.5版本后就支持收缩的Nalimov式残局库。我注重到有个Winboard引擎Esc只能用非收缩的。
  残局库另有其余一些花样,但对照少见。对照著名的,商业性低级棋弈软件Nimzo8运用它的Nimzo残局库,这类残局库放入到内存中运用,因而读取对照快。一直没有公然辟表但棋力不俗的Ferret也运用它的公用残局库。我美文余下局部,除非稀奇说明,残局库都是指Nalimov式。
 
  A4. 容易看到棋弈顺序是否是支持、以及各支持甚么花样的残局库?
  这里有一些:Chessbase出书刊行的那些默默无闻的低级软件例如(Deep)FritzJuniorHIARCSShredder 5.0+等都支持Nalimov式;Shredder 5.0+另支持ThompsonNimzo8+另支持自身的Nimzo残局库;Rebel Tiger 2.0Chess Tiger 14.0也支持NalimovCT15也是】,早期Rebel不支持任何残局库;Chessmaster 9000及以后版本支持其公用的EDGB残局库;Chess Genius 6.5支持Thompson式;绝大局部收费的Winboard引擎都是支持Nalimov式,其中Crafty15.21版本之前运用Edwards式,以后只支持Nalimov式;16.5版本以后可运用收缩的Nalimov式残局库。
 
  A5. 从那里可失掉残局库?
  若是你有Chessbase刊行的软件例如Fritz,你就同时具有3-4子收缩Nalimov式残局库。但你能够以为不足,有三种要领可失掉更多:购置、下载、自造。若是你有Chessmaster9000CD原盘上已附带一切4子和局部5子残局库。写作此文时,Chessmaster9000公用的这类EDGB残局库既还没有得出售、也没有中央下载。
  Chessbase出书刊行的The Chessbase Endgame Turbo CD一共四张CD,包罗Nalimov式悉数34子、以及局部主要的5子残局库,还可找失掉一套9CD的,包罗更全。
  关于下载,你能够到ftp://ftp.cis.uab.edu/pub/hyatt/TB去下载一切345和少局部6子残局库【译注:关于熟习国际象棋软件的,这个FTP站可说非常大著名,既能够下载Nalimov式残局库,也是供应各版本Crafty下载的田园】,要下载5子上述的残局库,你要求较快的网上下载速率,由于它们很大。【单单调个文件上百M是很寻常的,而且文件许多】
  至于自造残局库,可运用tbgen.exe这个工具,下载:
ftp://ftp.cis.uab.edu/pub/hyatt/TB/tbexe.zip,教程可在http://moq.pythoz.com/WinBoard.htm找;http://www.aarontay.per.sg/winboard/EndgameP.html也有。但想自造5子残局,要求很快的计算机和少量的内存。
 
  A9. 残局库文件有多大?我要求完整的5子残局库吗?
  注重都是指Nalimov式。
  装置残局库文件越多,顺序的棋力就越强。然则,一套完整的345子残局文件要占7.05GB的硬盘空间!【以是想下载的话很多若干心思准备】注重你购置的许多号称“全版”的残局库CD事实上并非完整的,很多若干不主要的残局库被剔除了,例如王+++象对单王这样的5子残局,引擎靠算完整足够了,没需要用残局库。人们少数都是下载完整的3子和4子库,然后选择一些5子库来下载。由于残局中有车存在的状况较多,以是优先下载带车的残局库文件。
  一样寻常分歧子数的残局库文件放在统一目录下,然后在引擎的设置文件中指明残局库的途径即可运用了。除非尚有稀奇需求可很多若干放在子目录下,而且要搜检一下你的引擎、或界面是否是允许设置指向分歧的残局库途径。Yace的作者指出,险些一切的引擎都支持同时指向分歧的残局库途径。
  运用残局库时,有个问题要注重处置责罚好,否则能够显现啼笑皆非的状况。例如你有王++兵对王+车的残局库文件(假定你以前存在全套34子残局库),这类状况下你应同时另有王++车对王+车的残局库文件,由于要斟酌兵升酿成后的状况!
  很多若干引擎很“笨”的,如果你缺少王++车对王+车的残局库文件,在某些强方可胜的王++兵对王+车残局里,且兵可升酿成后的状况下,它居然不晓得升变的!为甚么会这样呢?由于你有王++兵对王+车的残局库文件,关于以后局势引擎经由历程查找残局库发现强方胜;而关于兵升酿成后的局势,引擎找不到响应王++车对王+车残局库文件,虽然兵升酿成后,引擎固然评定强方取得很高分的优势(事实上也是胜势),但也是只会定为“一定纷歧定”,也就是说很高分的优势照样不如已晓畅指出的胜利“更高分”!相似的状况另有,譬喻你有王++兵对王+后的残局库文件却没有王++后对王+后文件,那末……
  很多若干引擎对照“智能”,能制止这个问题,因而缺少某些残局库文件也没紧要;但很多若干例如FritzTigerAmyCometGandalf就不会处置责罚了。【译注:原文这样,但他没说到哪一个版本的FritzTiger都有这个问题】
  固然,上述谁人状况,若是是存在有快速将杀的能够,倒纷歧定显现这个问题。
  注重,Yace现在还不支持4+15子残局库,即一方有王和随意三子/兵,其余一方单王;【译注:4+1一定异常不错胜,以至难胜的;原文说到,但没说甚么,这类稀奇状况,例如:王+三只最边的兵叠在一同对处在这边上的单王……】
 
  A10. 关于6子残局库
  就我所知,运用到6子残局的引擎还不多,只管从原理上让引擎运用6子残局库很简朴。
  6子残局库的用法没甚么变的,一样。能下载Nalimov6子残局库的中央是ftp://ftp.cis.uab.edu/pub/hyatt/TB/Six/,现在还不多,而且一个文件就大于2G,以是分红两局部供下载。
  引擎运用查找6子残局库,关于舷另有一些严肃的手艺要求,要求很高。
  现在的6子残局库,不包罗兵的险些齐了,而包罗兵的还没显现。预计全套的6子残局库要占用1000G的空间巨细。
 
  A11. 关于残局库是否是事情一样寻常和是否是显现外部毛病。
  残局库的外部毛病,是指下载上去或自身制造的残局库中的某个(或某些)文件外部显现“靡烂”,效果不只展现不了效能,以至能够致使某些运用它()的引擎启动不了。这固然是个问题,想一想看残局库的文件有这么多啊,想抓出终究是哪一个文件有外部毛病很不随意纰漏。
  不外要知道残局库是否是事情一样寻常并非没有设施,用引擎中剖析局势时,稀奇是专程依据你所具有的残局库而设定局势时,往往光凭调查就知道残局库是否是在运用:引擎走棋或给出估值很迅速,“想都不想地”,而且给出的估值一样寻常恒定稳定【译注:其余那些“一眼看出”数十步以后杀棋的一定运用到了残局库】。很多若干引擎在剖析形式时会在思索转变上指出估值是来自残局库,譬喻Crafty在主变前方会加上“<EGTB>”字样。【译注:也能够翻开引擎的log形式,剖析先手工文本体式格局检察log文件,往往有说残局库的运用状况,例如Ruffian
  如果你运用Nalimov式残局库,要批量搜检一多量文件有更简朴设施:
1、运用datacomp.exe
2、下载残局库时会晤到MD5考证文件,能够运用之搜检,见http://www.aarontay.per.sg/Winboard/md5.html
  这些要求做一些支配,供有兴味者自己研讨。其余译者还引荐你若有光盘刻录机,无妨刻录备份一到两套残局库,有甚么问题掩盖回来离去就是了。很多人用了几年的残局库,也未显现过这类文件外部毛病。
 
  A13. Crafty怎样运用残局库?
  Winboard下的引擎一样寻常都要手工编纂引擎设置装备铺排文件。编纂Crafty的引擎设置装备铺排文件Crafty.rc,在外面加一行 tbpath=你的残局库硬盘现实途径。其余引擎的设置迥然分歧,只不外:1) 分歧引擎的设置装备铺排文件称呼能够分歧,例如yaceyace.iniRuffianruffian.ctg 等等,都是文本体式格局翻开;2) 参数写法分歧,不外从字面上一样寻常都能够看出是哪一个。
  如果你是用Fritz等商业顺序,则是在option项里的tablebase标签设定,以Deep Fritz 7为例以下:
 
 
  可注重到它有三栏,若是你的残局库都放在统一个目录里,能够只在第一栏填或按选残局库途径,否则可填更多途径。残局库是能够分放在分歧途径的,目的是可暂时手工选择运用哪些。那里还可特地设残局库缓存数目。
  其余软件的残局库设定要领,一样寻常在菜单中也很容易找到。
 
  A14. 残局库文件的成对性
  例如残局库文件kqkr,即王+后对王+车,但哪方持后哪方持车呢?显著一个完整的残局库应当是白方黑方的状况都要斟酌,即要对称斟酌。
  早期的Nalimov式残局库要求两个文件.nbw .nbb来斟酌这类对称性,上述案例就是离别有kqkr.nbw.emdkqkr.nbb.emd两个文件。一切残局库文件都是这样成对显现的,下载时两个都要下载才组成一个完整的王+后对王+车残局库。最终的后缀.emd透露表现这是经由收缩的残局库文件,不收缩的话体积大许多。现在大少数引擎能直接运用收缩的残局库。
  但自从六子残局库最先出当以后,显现新的花样,某些残局库只要求一个文件就足够了。但同时也要求更新版本的引擎才支持只需一个文件的残局库,而且一定对称的那些残局,例如krkr等照样两个文件都要。这个以后再说。
  现在为稳妥着想,最好照样成对文件都下载运用。
  特地谈谈,收费下载上去的Nalimov残局文件是,例如kqkr.nbw.emd,而Chessbase出售的endgame turbo光盘所带的则是,例如kqkrnbw.emd,中央少了个圆点。但运用起来这两者看不出有甚么区分,横竖Fritz两种都认。它们能够交换。
 
  A15. 拯救!残局库照样用不了怎样处置责罚!
  缘由能够有:
1、残局库途径指向毛病;
2、文件外部毛病(“靡烂了”)或文件名毛病地改了;
3、没有成对下载运用,.nbw .nbb要一同有的;
4、残局库规格不相符以后引擎要求。
  第一个缘由最多见,稀奇是改了途径却忘了改指向;文件“靡烂”有能够显现不才载历程当中失足,也能够硬盘有错或其余软硬件支配毛病致使(断电、合法支配等有能够致使);第三个缘由事实上也经常显现,下载时一定要看清,稀奇五子残局上述的由于太大,很多人都是选择只下载一局部;第四缘由要先相识引擎是否是只支持其余残局库,一样寻常Nalimov式最通用,但chessmaster就不用它。
  若是某些局势里,引擎新鲜地不希冀走最显著取胜的着法[一般为升酿成后],那就要疑心是否是显现残局库不完整的问题【不是前面说的文件外部毛病】,其余美文有说。固然条件是你要证实引擎是否是发现另有更显著的胜法。
 
  A16. 有甚么图形界面工具能够更直调检察残局库?
1、有一个收费的数据库工具SCID http://scid.sourceforge.net/,它的作者说有这个功用;
2Shredder6的“endgame oracle”;
3、一个叫Wihelm的收费工具。
 
  出处:Aaron's Winboard and Chess Engines FAQ
  译者:michael
  类型:略有删省
  • 上一篇 棋弈软件根蒂基本——残局库、哈希表
  • 下一篇 棋弈软件根蒂基本——残局库对引擎棋力的负面滋扰
  • 返 回 象棋百科全书——计算机象棋
  • www.xqbase.com