人工智能基础——对抗搜索
博弈树
就是游戏的状态空间。拿井字棋举例,很直观就能看懂。
稍微解释一下,首先树的叶子节点代表游戏的某个结局,1代表获胜,0代表平局,-1代表失败。(对于一号玩家而言)对于更复杂的游戏会有不同的评价方式,比如说围棋一盘结束后可以用黑白棋子占据位置的差值作为评价分数。
MAX和MIN代表两个玩家,某层为MAX代表此轮由他操作。之所以选择这两个名字,是因为MAX玩家总希望评价分数最高,MIN玩家则相反。也就是说如果确定每个结点的分数,他们的决策是一定的。
MIN-MAX算法
从整颗树倒推,上一层如果是MAX玩家,一定会希望取得最好的分数,用子结点中最大的数字更新上一层就行,MIN玩家也是同样,递归以下就出来了(其实是一种dp的思想)
但是对于状态空间非常大的游戏来说,想遍历整棵树是不可能的,所以我们需要更好的搜索策略。
α\alphaα-β\betaβ剪枝
搜索过程中维护能得到的分数范围,α\alphaα代表最小值,β\betaβ代表最大值。max层总会更新α\alphaα,代表自己能至少选到多大的数字,对某个max节点来说β\betaβ永远为正无穷,因为还有可能在下一棵子树搜到更大的,但是之前搜索到的β\betaβ也会被参考,当你找到一个α\alphaα比之前的β\betaβ还大时,说明你的上层min一定会选择另一条路而不是你,再搜索也就没有意义了。也就是说max节点的搜索有意义反而是当他不够大的时候。
对于min也是同理。
行棋排序
就是希望选择更优秀的节点遍历顺序,使得α\alphaα-β\betaβ剪枝速度更快。比如说围棋,优先选择吃子、包围之类的操作,使得搜索速度更快。
不完美实时决策
上面所有的算法都是完备的,但是搜索空间太大,实际操作起来基本不可行。需要一些启发式的算法。
向前剪枝
利用先验进行剪枝,比如规定几步“好棋”,进行搜索。但是很可能会避开最优解,于是存在有概率性的选择剪枝对象。
搜索查表
就是认为构造几种特定情况(残局),把棋局变成这种状态后面再根据表走。就是人为提前处理出几种很难走的情况。
随机博弈
存在概率性的博弈游戏,可以通过计算期望来进行搜索。评价函数构建方法很多,比如说自己和自己反复下棋,然后一方赢了就给经过的棋谱+1分,类似这样反复模拟的蒙特卡洛仿真。
部分可观察博弈
比如看不到对面手牌的游戏,很玄学。
人工智能基础——对抗搜索相关推荐
- Python人工智能概述——博弈、对抗搜索
Python人工智能 Python人工智能概述--约束满足(扑克牌问题) Python人工智能概述--对抗搜索 更新ing 理解对抗搜索 Python人工智能 前言 一.博弈 1.对抗性博弈 2.博弈 ...
- (六)从零开始学人工智能-搜索:对抗搜索
对抗搜索 文章目录 对抗搜索 1 为什么要学习对抗搜索? 2 什么是对抗搜索? 3 对抗搜索算法 3.1 极小极大值算法 3.1.1 分硬币游戏 3.1.2 最优路径示例 3.2 α-β剪枝 3.3 ...
- 人工智能第5章 对抗搜索
5.1博弈 对抗搜索:竞争环境中每个Agent的目标之间是有冲突的,也成为博弈. 博弈:有完整信息的.确定性的.轮流行动的.两个游戏者的零和游戏. 零和博弈:是指所有棋手的收益之和在每 个棋局实例中都 ...
- 人工智能 一种现代方法 第5章 对抗搜索
文章目录 博弈 博弈中的优化决策 Minmax算法(极小极大算法) 多人博弈时的最优决策 α-β剪枝(重点) 不完美的实时决策 评估函数 截断搜索 向前剪枝 资源分享 博弈 对抗搜索:竞争环境中每个A ...
- 【人工智能导论】吃豆人游戏(上):对抗搜索与Minimax算法
吃豆人实验(The Pac-Man Project)简介 The Pac-Man projects were developed for UC Berkeley's introductory arti ...
- 人工智能学习(四):对抗搜索
目录 3.1 引言 3.2 游戏的分类 3.3 形式化游戏问题 3.4 零和游戏 3.5 对抗性搜索 3.5.1 单代理博弈树 3.5.2 对抗性游戏 3.5.2.1 Minmax 3.5.2.2 M ...
- AI 人工智能基础及应用
一.人工智能概述 1. 简史 2. 应用领域 安防 实时从视频中检测出行人和车辆. 自动找到视频中异常的行为(比如,醉酒的行人或者逆行的车辆),并及时发出带有具体地点方位信息的警报. 自动判断人群的密 ...
- 人工智能基础知识总结
本文是对人工智能基础的期末复习知识总结. 文章目录 一.绪论 什么是人工智能? 什么是图灵测试? 人工智能的研究范围有哪些? 二.Agent 什么是Agent? 什么是理性Agent? 如何构建理性A ...
- 【算法与数据结构】——对抗搜索
文章目录 对抗搜索 最大最小搜索(MinMax搜索) minmax搜索评价 Alpha-Beta剪枝搜索(Pruning Search) 对抗搜索 对抗搜索也称为博弈搜索 在一个竞争的环境中,智能体( ...
最新文章
- 新版蚂蚁网有抄袭怪兽吗?
- php 构造 析构,php 构造方法和析构方法
- 从零开始山寨Caffe·零:必先利其器
- python爬虫入门心得体会,python爬虫入门和实例
- AC自动机 - 关于Fail指针
- rabbitmq延迟队列相关
- linux 常用命令及操作
- Bootstrap初步
- ASP.NET数据绑定控件数据项中的服务器控件注册JS方法
- server 2008 R2+IIS7.5安装cacti实验
- hdu 1874 畅通project续
- 虚拟机连不上网 Xshell连不上虚拟机
- Node.js的异步I/O
- 软件测试技能大赛山东省,我院获2020年山东省职业院校技能大赛“软件测试”赛项二等奖...
- 如何在Mac网页中长截图?苹果电脑网页截图怎么截长图?
- window 脚本文件.bat获取最高权限拷贝文件及c++调用.bat文件示例
- 平面几何----赛瓦定理证明三角形的三条垂线或中线或角平分线三线共点问题
- 振作起来重新开始学习java吧!!!
- python图像倾斜校正_霍夫变换 文本图片倾斜矫正 python实现
- UILabel根据字数计算高度,宽度,行数