请选择 进入手机版 | 继续访问电脑版

楚界象棋论坛

 找回密码
 立即注册
查看: 105|回复: 0

什么是象棋软件开局库

[复制链接]

67

主题

67

帖子

134

积分

网站编辑

Rank: 8Rank: 8

积分
134
发表于 2020-10-15 14:35:54 | 显示全部楼层 |阅读模式
本帖最后由 cjpkw888 于 2020-10-15 14:37 编辑

         什么是开局库,它存在的用处是什么?开局库就是专门针对象棋的各种布局开局,各种开局的走法,它能引导棋软开局的走向。在象棋软件中,开局库占很重要的一部份,如果一盘棋开局没有走好,后面也好不到哪里去。再有的是,会有人问,为什么要开局库,有引擎不是可以了吗?对,有引擎也可以下棋,也可以开局,但因为各款引擎的开局比较单一不够丰富,其次原因是因为电脑配置问题造成引擎上层不够,从而布局不好,造成布局差。总的来说,一盘棋的好坏,开局基本上是可以决定胜负了,则开局好了,胜的机会很大!开局不好,再好的条件也难赢棋。所以说,开局库是必不可少的一部份,也是至关重要的。开局库的厉害之处在哪里?它比强机强软厉害吗?有一部分棋友总一味追求强机强软就想成为一个强者!但是装了强机买了强软还是输棋,想不出个原因来,他想来想去想不明白,总以为对手的电脑和软件比他强。我上术说得很清楚了,引擎就算在很强的电脑上思考出来的招法都比较单一,没什么新意,它来来去去就那几招走法,所以容易被对手破解你的走法。还有的就是,至今的软件还有很多盲区,大局观不够,有很多招法是无法思考出来正解,从而棋步没走好。单凭强机强软还是不够的,还需要强库的辅助引导,才能走好全盘。        开局库是棋类软件的组件之一,包括与开局有关的数据库,一个全面的开局库基本上包括所有的开局和变化,开局库主要运用在象棋中。在计算机博弈中论文中亦可见到相关说明。开局库的意义:计算机的计算能力十分强大,但是由于其计算原理,导致一盘棋中有很多关键步数看不到,从而导致局势不利。这种情况在局势复杂(棋子数多)的情况下更容易出现。优秀的开局是赢得一盘棋的基础,如果开局不利,往往导致全局的被动乃至输棋。而有很多布局陷阱计算机是不能发现的,因此就需要有一个东西指导计算机走好开局,这就是开局库。如果加载开局库,理论上计算机会走开局库中得分最高的开局,直到开局库已经到头不再指引计算机时,计算机才会自己计算,而之前计算机是不会自己计算的。计算方法:以中国象棋为例,通常开局第一步大家都会走中炮、进三兵、飞相等。一般没有人会走进中兵,上帅等棋,如果走了往往意味这局将会输棋。开局库也是一样,收集大量的完整对局,按照一定的计算方法整理成开局棋谱。
         自己要制作一个开局库,首先我们要搜集足够的对局,而且尽量是名家大师的对局之后使用制作工具加载这些棋谱,使用计算公式来制作开局评分=(胜局数×胜局权重+和局数×和局权重+负局数×负局权重)÷附加系数胜局数、和局数、负局数sgh由计算机自动统计,不用你填写胜局权重:该步如果取胜将得多少分。比如第一步红方走的炮八平五取胜了715场,这里填3,该步将得到715*3=2145分和局权重:该步做开局如果走和将得多少分。比如第一步红方走的炮八平五导致和棋了14场,这里填1,该步将得到14*1=14分负局权重:该步做开局如果失败将得多少分。比如第一步红方走的炮八平五导致输棋111场,这里填-1(通常填写负值),该步将得到111*(-1)=-111分附加系数:没什么实际用处,只是调整开局得分范围而已,li例如这里填2.则第一步红方炮八平五开局得分为(2145+14-111)/2=1074黑方的计算方式也一样。直到开局某步得分低于0,则这个开局将被认为不可取开局,且不会继续计算分支了。旋风界面:下载以后重命名为cyclone.obk复制到软件文件夹内部覆盖以前的开局库即可!兵河界面需要手动加载具体请参考兵河五四内置的说明书或者棋中论坛教程人机开局库和一般开局库不一样的地方是数据量巨大,而且基本没有经过人工修正只保留了原始的数据,使用的时候不能直接纯机走,只能人机进行选择招法。使用方法讲解:相信大家都一直在听说,纯机永远是下不过人机的,真正的高手一定是人机高手!所以很多朋友一直在问我,人机到底是怎么回事?其实我个人理解,人机应该分为三个阶段,人机开局阶段,中局大量软件计算加少量人为判断阶段,残局大量人为判断加上软件计算阶段!那么今天先说说人机开局阶段!我个人是比较喜欢人机开局的,因为人机开局一般不会中刀而且对于棋力的提高绝对是有很大好处的,就像背棋谱一样,走的次数多了自然就记住了。一年以前,我的双核笔记本电脑在QQ新中国象棋高分一区(简称高一)里面用人机开局配上论坛上面现在的破解引擎也鲜有敌手,但是现在由于现在做库的大侠们不断的努力,使得人机开局越来越难占到优势,要是对于局面不熟悉的话,还很容易走成劣势局面!在开始之前,我们先来了解一下,软件是怎么调用开局库的!这里就以象棋旋风为例!首先打开你的软件点击-查看-窗口-开局库、你应该可以看到一个上面写了着法的库,比如 炮二平五 分数300257 胜局数 89951 和局数 89354 负局数 69467 允许 Y这些数字的意思就是我们这个库里面现在统计的开局红棋走炮二平五这步棋,红棋赢过89951盘和过89354盘输过69467盘,如果软件自己走的话,就会自动选择分数最高的一步棋走!我们做开局库的时候一般默认赢过一盘得2分和过一盘得1分,输的不得分!那么问题来了、比如走到中局一个地方有两个选择,第一步棋炮八平六 胜10盘和2000负10000盘,那么开局库里面的分数就应该是2020分,而另外一个选择马六进七 胜 200盘和100盘负10盘那么开局库里面的分数就应该是500分,要是我们人来判断的话,我相信所有的朋友都会选择第二种着法吧!但是软件不会。这就需要我们来人机了,呵呵。那么有的朋友说,我选择胜率高的不就可以了,那我再举个例子。比如还是两个着法,第一种胜5盘和0盘负0盘,胜率100%应该还可以了吧,第二种着法胜3000和1000负100再要大家选择的话,我想大家都会选择第二步了吧!因为也许下一步对方就可以脱谱了。那么究竟要怎么选择才好呢,简单的说,就是要胜得多胜率又高的,要是有一步胜500000和0负0的棋步可以选择就最好,没有的话就选择走的盘数多,胜率又高的!而且对不同的人,不同的机器,选择也应该不同。比如我的电脑好,对家的水平也很一般,那么久可以选择胜率高一点,走的盘数少一些的,尽快脱谱,如果我是后手,对家的实力很强,那么尽量把谱拖长一点,先谋求一盘和棋,等换成先手再想法突破也是一个不错的选择!另外,需要说的是,现在的兵河功能非常强大,支持观棋思考,如果时间充裕的话,可以再参考局面分数,这样更有把握。但是不要直接连线走子,开局像下棋一样,我一般会看看后面三步的变化。为什么要看呢,再举个例子。还是两步棋第一步胜2000和100负100第二步胜500和100负200,那么大家会说肯定第一步好,事实上,只要你再看看第一步后面对家的应发里面,显示,他有两步棋。第一种胜100和50输0第二种胜0和0输2000,很显然他会选择第一步,这下你就傻眼了!呵呵。一看这种情况就应该考虑第二步棋了!

回复

使用道具 举报

手机版|小黑屋|【楚界象棋论坛】客服 ( 鄂ICP备19002522号

GMT+8, 2020-11-27 08:34 , Processed in 0.109789 second(s), 21 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表