- 12
- 0
- 约1.02万字
- 约 17页
- 2017-03-20 发布于河南
- 举报
棋软搜索引擎揭密
棋软搜索引擎揭密
作者:nicepeople10
中象棋软搜索引擎揭密 一 fenon
北京大赛终于过去了, 在这场盛事前后这段时间, 静下心来回顾了走过的象棋研究的路子,心得感触良多.为了纪念这段时间的美好, 我决定把这段时间积累的对象棋引擎的心得, 总结分享出来
我个人希望通过这篇文章,把一些顶尖棋软的知识普及开来,提高开源象棋软件的水平.
1. 搜索引擎和审局之间的关系, 如何建立
阅读下面的内容时, 首先需要了解几个背景知识
a. 人工智能的博弈搜索树和PVS搜索之间的关系
b. PVS搜索是无损搜索
c. PVS的搜索效率和搜索次序的关系
首先明确几点:
a. 做一个全PVS的搜索, 在限定了层数的情况下, 如果基于不正确的知识 比如子力表 ,并不能保证一定能把杀棋找出来 可能会跑去吃子
b. 为了提高棋力, 无损搜索PVS是不足够的, 还是需要剪枝的
c. 搜索树和审局之间的关系, 首先知识必须能够引导搜索到正确盘面 这个地球人应该都知道 , 第二是避免搜索把正确的分支剪除掉 这个谈论得少一些,我以前曾经有很长一段时间不知道
我认为, 审局和搜索之间的关系的建立, 在于
a. 知识是带有正确的倾向性的 只能说是倾向性,因为知识很难做到全面准确
b. 搜索是根据知识而采取剪枝方式的 这个下面详细分析
下面我举一个简单的例子, 来说明知识和搜索之间的关系
帅
_____
| | |
马 _| 将_|_兵
| _ |_ |_ |_象
在这个盘面, 兵只要靠近王一步, 就可以将死了对方, 但是基于子力表做depth 1的PVS搜索,只会选择: 兵吃象, 有利, 而且评估子力分数很高, 所以吃象
那么, 有什么办法避免这种情况呢?
a. depth 1的时候不做剪枝
b. 给予引擎审局的知识, 告诉引擎保持马非底线兵这种组合对将才具有杀伤力
这样就给出了两种选择, 哪种更好?
实际上, b这种选择有两种局限
a. 局限于现在对审局模型建立的水平, b这种情况需要花费大量的人力功夫来维护完整的知识, 而且很难做到准确
b. 目前的引擎的搜索棋步排序, 大都是基于最近访问- 杀棋步- 吃子步这样的棋步排序方法, 我们可以很容易想象到, 使用全面复杂的知识, 会引起搜索结果冲突 凑着一个吃子或者杀棋的步子去走, 但是最后发现达不到预期的效果 , 大大降低了搜索的效率
正是因为上面的原因, 现在我所了解到的高端引擎, 大都是通过控制剪枝的危险程度, 来弥补知识的不足, 比如, 在nullmove中限制depth 2, 或者, 在lmr late move reduction --如变种:fruit的history pruning, 控制depth 3, 都是利用控制剪枝来弥补知识的缺陷.
我们很清楚知道, depth 2的时候, 都限制了不能剪枝的话, 那么刚才的盘面, 并不需要任何知识,就可以找出杀棋步, 但是, 这个是不是我们需要的呢? 我想不是的, 如果限制了depth 2不能剪枝的话, 我们会发现我们的搜索, 产生了大量的节点, 啊, 天啊, 可怕的搜索浪费
当然, 最理想的方法是, 搜索排序的次序是基于知识的, 而且盘面评估是基于知识的, 如果我们能够达到这样的效果, 嗯, 我想depth 1不剪枝的限制也可以去掉了, 这样的引擎肯定效率更高吧
现在, 让我们想想, 哪些分支我们是不想被错误剪掉的? 当然是杀棋步, 杀棋 吃子, 基于子力表的搜索PVS, 很可能漏掉的棋步是杀棋步, 而这个恰恰是我们不想见到的
对于攻杀激烈的中国象棋,可以说两个引擎的差别在于,谁能更快更准确找到杀棋步.
口语化一点来说,给你多搜索两层的能耐,你能保证绝对能通过蚕食我的大子把我变成光棍司令? 尤其是随着高层效应的出现 引擎和硬件的发展,搜索的层数越来越大 , 这种可能更是趋向于零, 所以, 我们应该尽量避免漏掉杀棋步
我知道有很多引擎的做法是, 对有潜在攻势的局面做出模糊判断, 并且赋予高分, 如越容易发生杀棋的棋步, 给予越高的分数, 例如三子归边的分数 马炮的分数, 这样就可避免因为吃马炮而漏掉杀棋, 但是这种模糊判断有些致命的缺点
a. 模糊知识,会造成大量的搜索浪费 条件越不准确, 越容易造成搜索浪费
b. 模糊知识会造成错误的判断, 导致乱弃子
c. 引擎发展需要更长的发展周期, 需要大量的对局来积累知识
一种比较适中的解决方案是, 采取depth 1不剪枝的搜索方法, 并且给予depth 1时候, 可以形成杀棋的棋型知识的判断
这种方法的原理是, depth 1的搜索,可以达到depth 2的效果, 并且可以避免模糊知识判断
您可能关注的文档
- 东风福瑞卡压缩垃圾车.doc
- 东财工程经济学在线作业.doc
- 不能不知的语文学习方法大结集.doc
- 两核考试.doc
- 个人简历完整电子档.doc
- 世界地理概况习题1.doc
- 中国数学建模-编程交流-动态规划算法_1.doc
- 中国摇滚.doc
- 中国历代疆域面积考(修正4.0版)作者:边城玫女.doc
- 中央美术学院造型学院考研辅导班笔记讲义.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 中国心律失常护理专家共识(2025版).docx
- 审计模拟实训教程 第5版 参考答案汇总 马春静.pdf
- 迷宫挑战级难度挺大80个.pdf VIP
- 铁路技术规章:客车统计规则.pdf VIP
- 6~23月婴幼儿辅食喂养指南解读.pptx VIP
- 幼儿教育政策与法规教学案例.pdf VIP
- 具身智能 智能化发展阶段分级指南V6.pdf VIP
- 渔夫和他的灵魂TheFishermanandhisSoul(可编辑).pdf VIP
- 核电站主设备结构2012年11月27日.pdf VIP
- 电机学(第七版)(修订版)习题答案 刘新正 ElectricMachineryEdition7Solutions.pdf
原创力文档

文档评论(0)