残局库是经特别算法产生的特定格式的、储存各限定棋子数目的残局之所有局面及其估值的数据库文件集合。概述地说,残局数据库是储存了残局局面并经回溯分析计算过的数据库文件,它使用在棋弈程序上,当进入残局时,只要适合使用的残局数据库文件存在,程序将走得非常完美。多数棋弈引擎并不一定要到达残局库所涵盖的局面时才使用残局库。例如,在到达如此局面之前几步,引擎计算(但还没走棋)一系列交换之后直接进入残局库里存有的局面。引擎于是搜索探查残局库并取得那个设想局面的结果。如此当然提高了棋力。

[编辑本段]

有多少种残局库格式?彼此有什么不同?

残局库格式是多种多样的,包括肯·托普森式(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回合自然限着规则。为了克服它们的缺点,已经提出了DTZ和DTR另外两种类型。但至今只停留在理论上。 说到具体每种格式的区别,还不能简单就说得清楚的。Crafty的作者于2000年10月在新闻组作过如下解释: “Edwards式:属于将杀步数(DTM)类型。Edwards式的主要问题是这种残局库体积比其它的庞大。 “Nalimov式:也属于将杀步数(DTM)类型,但Nalimov式的残局库文件是压缩的,也可以以压缩形式使用而无不利之处。对于拥有全部3、4、 5子残局的残局库,别的格式其文件总数大小超过30G,而使用这种格式的大约只有7.5G。 “Thompson式:属于变换步数(DTC)类型(每当发生吃子,残局的‘级数’都变小)。这种格式难以以压缩形式使用,相对于Nalimov式,它提供的信息也不相同……比如,它告诉你一些信息,却没有区分是负还是和,而Nalimov式对此则有区分。 “Nalimov式是最佳选择。几乎每个引擎都支持它……” 当然,他没有提及仅是Chessmaster9000专用的EDGB格式残局库,因为EDGB是2002年8月才发布的。Nalimov式仍然是最流行的在用残局库格式,因此我想再多谈一点这种格式。 Nalimov式几近“完美”,因为它把吃过路兵也考虑进去了。但是没把王车易位也考虑进去。只不过,大概只有排局迷才会对此计较。总的来说,现代几乎所有的国际象棋程序包括大多数Winboard引擎使用Nalimov式残局库,一部分原因是它们不设版权,一部分原因它们更高效。现在Nalimov式残局库已经出了部分6子残局库。Nalimov式残局库有两种形式,压缩的和非压缩的,压缩的以“emd”为文件后缀。多数现代棋弈程序能解压使用压缩的残局库,例如Crafty从16.5版本后就支持压缩的Nalimov式残局库。我注意到有个Winboard引擎 Esc只能用非压缩的。残局库还有其它一些格式,但比较少见。比较著名的,商业性高级棋弈软件Nimzo8使用它的Nimzo残局库,这种残局库放入到内存中使用,因此读取比较快。一直没有公开发表但棋力不俗的Ferret也使用它的专用残局库。我文章余下部分,除非特别说明,残局库都是指Nalimov式。

[编辑本段]

常见棋弈程序各支持什么格式的残局库?

Chessbase出版发行的那些大名鼎鼎的高级软件比如(Deep)Fritz、Junior、HIARCS、Shredder 5.0+等都支持Nalimov式;Shredder 5.0+另支持Thompson;Nimzo8+另支持自身的Nimzo残局库;Rebel Tiger 2.0和Chess Tiger 14.0也支持Nalimov式和CT15,早期Rebel不支持任何残局库;Chessmaster 9000及以后版本支持其专用的EDGB残局库;Chess Genius 6.5支持Thompson式;绝大部分免费的Winboard引擎都是支持Nalimov式,其中Crafty在15.21版本之前使用Edwards 式,之后只支持Nalimov式;16.5版本之后可使用压缩的Nalimov式残局库。

评论读取中....

请登录后再发表评论!

修改失败,请稍后尝试

残局库是经特别算法产生的特定格式的、储存各限定棋子数目的残局之所有局面及其估值的数据库文件集合。概述地说,残局数据库是储存了残局局面并经回溯分析计算过的数据库文件,它使用在棋弈程序上,当进入残局时,只要适合使用的残局数据库文件存在,程序将走得非常完美。多数棋弈引擎并不一定要到达残局库所涵盖的局面时才使用残局库。例如,在到达如此局面之前几步,引擎计算(但还没走棋)一系列交换之后直接进入残局库里存有的...
弈棋过程分析  为了深入探讨 计算机 博弈 的原理与方法学 问题 ,有必要分析二人对弈的演化过程,建立 相应的数学模型。图 2-1 给出了 博弈 状态演化过程图[5]。图中表明棋局状态是在着法算子作 用下进行演化的,其对应的状态转移方程可以写成          ) 0(, 011 S SqSS nnn = ⋅= ++               (2-1)  式中 0 S 为棋局的初始局面, 1 +nq
我的微信公众号名称:深度学习与先进智能决策 微信公众号ID:MultiAgent1024 公众号介绍:主要研究分享深度学习、机器 博弈 、强化学习等相关内容!期待您的关注,欢迎一起学习交流进步! 现代 博弈 论建立   现代 博弈 论的建立得从1944年算起,1944年冯·诺依曼的《 博弈 论与经济行为》以数学形式来阐述 博弈 论及其应用,标志着现代系统 博弈 理论的初步形成。冯·诺依曼被称为现代 博弈 论之父。 Th...
之前 博弈 的几个练习项目,感兴趣的可以参考一下。总共有三个: https://github.com/StudentErick/Qt_AmazonChess 这是MCTS算法最完整版本的 https://github.com/StudentErick/AmazonChessMCTS 这是个简单的练习,有bug https://github.com/StudentErick/AmazonChess ...
首先明了极大极小搜索https://baike.baidu.com/item/%E6%9E%81%E5%A4%A7%E6%9E%81%E5%B0%8F%E5%80%BC%E7%AE%97%E6%B3%95/19473878 在极大极小搜索的过程中,存在着2 种明显的冗余现象: 第1 种现象是极大值冗余。在上图中,节点A 的值应是节点 B 和节点C 的值中之较大者。现在已知节点 B 的值大于...