皮卡鱼官方论坛

 找回密码
 立即注册
查看: 7391|回复: 6

象棋软件教程

[复制链接]

2

主题

6

帖子

224

积分

业1-3

Rank: 5Rank: 5

积分
224
发表于 2023-5-28 17:08:35 | 显示全部楼层 |阅读模式
象棋软件教程
象棋软件一般由,引擎、界面、开局库、残局库组成。
早期的象棋软件,界面 引擎开局库等等均为一体,只能下棋对弈,例如将族。随着时代进步,界面和引擎 开始分离,但是大部分软件仍然既开发引擎,也开发界面,例如棋隐,象棋巫师,楚汉棋缘,象棋奇兵,棋天大圣。
象棋软件持续发展,引擎和界面彻底分离。开发引擎的,专门开发引擎,开发界面的着重开发界面。引擎和界面的通讯协议也 相对统一,均使用旋风 uci 协议。知名界面有:冰河五四,鹏飞象棋,鲨鱼象棋。知名引擎有:象棋旋风,象棋名手等。
象棋引擎是象棋软件智能核心,是象棋软件的大脑,心脏。主要负责盘面的分 析计算。象棋引擎,都是通过指令来运算的,就像早期的 dos 程序。对用户来 说,很不友好。直接用引擎来算棋,是可以的,但是,非常的不方便,不是专业人 士,也没法使用。象棋界面是用户交换界面,就像 windows,只需要点点鼠标即可完成分析计 算。象棋软件的功能,说的基本都是界面的功能,例如,加载引擎,加载开局库, 打开棋谱,保存棋谱,制作开局库,修改开局库、自动连线下棋,摆局,分析局 面,电脑自动走棋等。
象棋界面,必须加载引擎,才能正常工作。就像人必须有大 脑和心脏,才能正常生活,否则就是个行尸走肉。 开局库,就是开局历史走法,或者拆解的最优走法,不需要计算,可以直接走 的棋。例如开局第一步,中炮,仙人指路,飞象局。都是一些成熟的,已知的走 法,不会造成被动输棋。
残局库,是通过穷举残局局面生成的库,只要有相应子力的库,就有相应子 力,所有的局面,可以直接走,并且是最优解。随着残局子力的增多,残局库体积 指数级增大。所以目前只有部分子力的库。目前最佳残局库,是旋风残局库,可以 云库官网查询 www.chessdb.cn,或者通过支持云库的象棋界面查询。
决定象棋软件强弱的,是引擎。不同的象棋软件,棋力是有差距的,一般的免费软件,基本都有象棋大师水平。商业软件,棋力更强,具有远超特级大师的棋力水平。使用更强的软件,会获取更加精准的招法,不容易掉入别人设置的陷阱。所以专业棋手,或者对自己棋力有追求的爱好者,尽量选择高端商业软件。一些象棋电子竞技爱好者,必选商业软件,而且是最强的商业软件。这样才能提升自己的胜率,获取最大的满足感,赢取更多的利益。相同的引擎,在不同配置的电脑上面,棋力是有差距的。性能越快的电脑,棋 力越强。同一款引擎,在不同性能的电脑上面,运算速度每翻一倍,大概提升 20~40 等级分的棋力。 相同的引擎,在相同的电脑上面,思考不同的时间,棋力是不同的。思考的越 久,棋力越强。思考时间每翻一倍,棋力提升 30~50 等级分的棋力。
追求强大的象棋软件,需要各个方面,都不要有短板。1.强大引擎 2.运算性能 卓越的电脑.3.能思考足够长的时间。有些人会说,我已经做到了上面三点,为啥还 是胜率不高呢?网络下棋,提高胜率,这个属于象棋电子竞技范畴,对软件操作技术要求,相对要高,后面会着重讲解
2020 年,NNUE 神经网络审局架构,成功应用于中国象棋引擎。对引擎棋力来说,是个划时代的进步。200~300 等级分的巨大提升。未有使用过 NNUE 引擎的爱好者,建议可以尝试一下。NNUE 架构,对电脑性能指令集要求,相对较高,建议购买架构较新的 CPU。例如包含 AVX2 指令集 CPU 的电脑,会让引擎提 升 20%以上的速度。NNUE 架构的引擎,均对 CPU 有较高要求,内存稍有要求,对其他硬件,例如显卡,网卡,无要求。要配置一台强力的下棋的电脑,需要一块 更强大的 CPU,这是必须的。根据个人预算,选择合适的 CPU。下面我推荐一些下 棋的高端 CPUAMD 线程撕裂者系列例如 3995wx 、3990x 、3970x;AMD 锐 龙系列 R9 5950x、R9 5900x、R9 3950x;Intel 系列 12900k、12900kf 等。根据 整机价格,来判定下棋性能,是错误的,例如一个配置 i5 6 核心 CPUrtx3090 显 卡的电脑,看着价格很高,其实下棋性能,相对不好。所以配置一台性能强大的下 棋电脑,请勿购买高端显卡,亮机卡即可,把那些高贵的显卡,留给需要的人吧!选择好电脑后,当然需要一款足够强大的象棋引擎才行。
目前 NNUE 最成功的是皮卡鱼Pikafish。皮卡鱼作为免费的开源中国象棋引擎,当今棋力最强,堪称中国象棋第一 AI。NNUE 优秀的高端商业软件为象棋旋风,小虫象棋,其核心技术大多参考或来自免费引擎皮卡鱼。象棋旋风、小虫专业版,针对大众用户,旗 舰版针对高端用户,电子竞技用户。选择适合自己的即可。引擎选择好了,需要一 个合适的界面,目前大部分界面都是免费的,例如鹏飞象棋、鲨鱼象棋界面,兵河五四界面, 免费的足够使用,如果需要某些特殊功能,可以购买界面的 VIP。开局库方面的选择,技术水平不错的,可以直接用云库即可,云库,包含开局库,和旋风残局库。 新版的鹏飞象棋、鲨鱼界面,和兵河五四界面,均支持云库。云库完全免费,而且更大,更全,有分值参考,实属完美。
电脑,引擎,界面,开局库,全部配好了。现在终于可以愉快的玩棋了。首先打开象棋界面,然后加载好引擎,和开局库(本地库)。如果这些操作都不熟悉,那还是看看界面的帮助文档,比较合适。文档看一遍,知道个大概即可。后期需要啥功能,在详细针对性的查看。
一切准备就绪,开始下棋吧! 象棋属于零和博弈,不存在共赢。象棋是智者的游戏,需要斗志斗勇。象棋电 子竞技,也是需要高超的技术,才能获取更大的胜率。并不是开着象棋软件,即可 赢得比赛。低级的软件爱好者,拿免费软件,砍杀纯人,获取虚荣感,中级的爱好 者,用商业软件,砍其他免费软件,获取满足感,象棋竞技爱好者,用最好的装 备,砍杀,其他用最好装备的玩家,获取成就感。走别人的路,让别人无路可走, 这是对象棋最合适的写照了吧。


2

主题

6

帖子

224

积分

业1-3

Rank: 5Rank: 5

积分
224
 楼主| 发表于 2023-5-28 17:09:10 | 显示全部楼层
如何才能提升软件下棋的胜率呢?这个应该是大家最关心的事情了。

我们先谈 一下引擎几个重要参数的设置。首先核心数,这个是引擎并行思考的个数,也就是 同时能思考的盘面个数。这个参数,肯定是越大越好了,很容易理解。当然这个参 数不是自己想设置多少就设置多少的,要根据自己购买的引擎的核心数目,还有就 是自己电脑 CPU 逻辑处理器的个数,来设置合适的值。设置值,绝对不能超过引 擎购买支持核心数,和 CPU 逻辑处理器个数。另一个参数就是置换表,Hash。这 个一般设置 512M, 最大不要超过 4096M。如果自己的核心数,没那没多大,设置 512M 即可,设置太大,反而拖慢速度。引擎参数这两个需要设置,其他的 默认即可。界面的设置,一般就是时间控制,和电脑走红,走黑。参考界面文档即 可。关于时间控制,这里说一点,一般新手喜欢设置固定层数,引擎思考到固定层 数,就立即出招。这种设置,实话说,是很差的设置,固定层数一般是给引擎开发 者,调试引擎用的,平时下棋用这个控制出步,是毫无价值的。

第二个就是设置固 定步时,也就是每步思考多少秒,走棋。这个相对来说,是比较合适的设置,但是 高手一般也不会这样设置。

第三个就是设置局时,步时,优秀的引擎和界面,会很好的分配时间,比较合理。新手设置这个就行了。综合时间设置,需要对软件相对 了解,对当前棋局也有深入体会,是个经验设置。合适的时间分配,可以提升 10~200 等级分的棋力。

会了时间分配,那就是开局优化了,引擎本身的开局,走法相对单一,所以必 须有开局库,让开局多样化。为啥需要这样呢,知己知彼,百战不殆。引擎走法单 一,对方只要分析一盘棋,就知道你走的招法,你等于赤裸裸的躺在案板上,等着宰杀吧。象棋斗志斗勇,让别人不知道你要走啥,走哪步棋,让对手所有的准备, 都打水漂。使用固定开局库,选择最优解,是一样的结局,只要对手掌握了你的行 棋思路,你基本就死定了。新手喜欢挂机走棋,走最优,这是很大的漏洞,容易被 对手打击。对新手来说,我建议直接选择云库,随机走,即可,对方很难掌握你的 行棋规律,无法盘盘克制你。一直走开局库,盘盘和棋,这是新手遇到的另一个问 题,一般新手都骂引擎,其实引擎根本没发力呢,就到和棋残局了,神仙难赢。要 提高胜率,就需要在合适的盘面,脱库走棋,何时拖库,是技术难题,纯粹靠经 验,无规律可循。 会了随机开局,让对手没法找到你的规律。

那如何才能提高获胜概率呢,那就 需要随机应变,见方抓药了。首先需要硬实力,要赢在起跑线,电脑 CPU 比对手 更强,引擎比对手更厉害。硬实力强于对手,获胜概率,就会比对手高。软实力, 先讲开局技术,如果自己硬实力强于对手,就尽量走复杂变化,选择容易分胜负的 开局走,如何才能选择呢,就看自己对象棋的理解,和对引擎的理解,对大局观的 把握。如果自己硬实力不入对手,但是对手是个新手,你可以看看对手是否合理控 制时间,如果不会,你就可以合理控制时间,走复杂局面,用精准的技术,克敌制 胜。战术的应用,都在合理分析对手的基础上面制定,来获取最大胜率。如果错误 的估计了对手,你就很容易翻车了。对手太强,是个高手,就不要强求,走简单变 化,和棋收场吧,太用强,输的一定是你。中盘,需要合理的控制出招即可。复杂 的盘面,多思考,简单的局面,可以不用思考,把每一秒时间,都用在合理的地 方。这个最重要,合理用时,提升棋力较大,比提升硬件速度,更见效果,但是也 最费神,费力。复杂的人机操作,需要手动走棋,在拆解分析,让软件思考的更 深,这种更需要精确的大局观,对象棋有一定的理解才行,不是只看分数,不适合新手。

以上说的大部分都是软件电子竞技的技巧和手段,对大部分新手来说,也许很难。有些爱好者,想提升自己的胜率,可以尝试。

再说说用软件学棋,学棋比软件 下棋,更需要努力,要认真分析自己下过的每盘棋,用软件拆解,找到自己的不 足,哪步棋跳水了,分析跳水原因,熟记类似盘面,软件的解法,会灵活运用。开局可以通过软件拆解,找到人类容易犯错误的盘面,设置陷阱。努力+天赋+皮卡鱼,一定能成功!很多大师,特大使用皮卡鱼后,等级分提升明显!

最后再说说,软件之间棋力评测的问题,不同软件棋力都有差距。但这种差距 比纯人之间,要小的多了,毕竟都是软件,犯错误的概率还是很低的。软件测试,一般通过设置不同的盘面,分先测试几千盘,到几万盘。局时一般使用 局时 10 秒 每步加 0.1 秒,这是快测。慢测一般采用局时 60 秒每步加 0.6 秒。这是参考国际象棋鳕鱼的测试平台时间控制。测试,盘数很重要,盘数越多,越准。少于 5000 盘,误差会很大。结果可信性不高。没有专业测试经验,没有高核心电脑,不建议 对打测试不同引擎。盘数不够,每次测试会得到不同结果,自己会非常迷惑。

常见问题解答:1. 象棋软件只能全局对弈吗? 不是的,目前专业的象棋软件,可以摆局分析任意盘面,全局对弈只是功 能之一。2. 象棋软件走子速度会不会很慢? 象棋软件的走子,出棋速度,可以任意控制,控制方式有多种,详细可以 看界面文档。3. 象棋软件可以拆解残局吗? 象棋软件可以拆解残局。有残局库的,更是有最佳解法。4. 学棋需要多少核心的软件? 四核心的象棋旋风、小虫专业版,即可应对平常的学棋,拆棋。5. 高核心的软件,一定能赢低核心的软件吗? 不是的,高核心的软件,计算速度更快,对比低核心软件,有更高的胜率,但并不能完虐低核心软件。下10 盘,也许能多赢 1,2 盘。6. 如何用软件以弱胜强? 机器性能不够,时间来凑,更加合理的开局引导,更合理的时间分配,能 提高胜率。7. 软件的棋力和纯人的差距很大吗? 目前最新的皮卡鱼、象棋旋风、小虫,和纯人的差距,真的很大,纯人想和一盘,都很 难。8. 软件可以走让子棋吗? 软件可以走让子棋,但是目前的软件设计,没考虑让子的因素,走让子 棋,不能发挥软件的最佳棋力。9. 软件每次都是分析一个最佳招法,和思考细节,能不能分析出多个招法?完全可以的,象棋旋风可以通过设置 multipv 来分析多个招法,并给出分 数和思考细节。10. 我目前水平不高,是不是用免费软件学棋就好了? 免费的开源象棋引擎皮卡鱼水平是顶端的,只需用兵河五四、鹏飞象棋、鲨鱼象棋加载该引擎即可。如果是致力于自己纯人水平,同样也建议购买象棋旋风、小虫象棋商业版,棋力是顶级的,有巨大云残局库,招法更准确,更少走弯路。
回复

使用道具 举报

0

主题

34

帖子

2万

积分

业9-3

Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29

积分
23673
发表于 2023-6-2 15:19:35 | 显示全部楼层
好长时间登录不上来了,好文章,赞一个
回复

使用道具 举报

3

主题

10

帖子

137

积分

业1-1

Rank: 3Rank: 3

积分
137
发表于 2023-6-7 17:16:38 | 显示全部楼层
android  studio怎么编译 pikafish 源码
回复

使用道具 举报

0

主题

3

帖子

18

积分

学1-2

Rank: 1

积分
18
发表于 2023-6-24 11:22:01 | 显示全部楼层
不知道哪个界面好一些啊,还有,电脑上怎么使用腾讯象棋啊,晕了,只有手机版。。
回复

使用道具 举报

3

主题

10

帖子

137

积分

业1-1

Rank: 3Rank: 3

积分
137
发表于 2023-8-16 20:06:04 | 显示全部楼层
android  studio怎么编译 最新pikafish 源码读出的权重文件不对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|皮卡鱼官方论坛

GMT+8, 2024-10-8 00:28 , Processed in 0.072080 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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