问题求解Agent

如何将问题形式化?(以罗马尼亚案例为例)

  • 初始状态:In(Arad)
  • 行动:ACTIONS(s),即,给定一个状态s,ACTIONS(s)返回状态s下可以执行的动作的集合。例如状态s为 *In(Arad),动作集合( { Go(Sibiu) , Go(Timisoara) , Go(Zerind)} )
  • 转移模型:RESULT(s,a),在状态s下,执行a动作后,达到的状态。也会使用后继状态表示从一给定状态出发,通过单步行动,可以达到的状态集合。例如

RESULT((In(Arad) , Go(Zerind))=In(Zerind)

  • 目标测试:确定给定的状态是不是目标状态。
    有时,目标状态是一个显示集合(已知的,明确的),测试只需要简单的检查给定状态是否在目标状态集合中。例如已知的目的地。
    有时,目标状态不是一个显式可枚举的目标状态集合,而是具备某些特定抽象属性的状态。例如,国际象棋中,目标状态是指被将死的状态,即,对方国王在己方国王攻击得无路可逃必死无疑。
  • 路径损耗:路径耗散函数为每条路径赋一个耗散值,即,边加权,罗马尼亚案例中,路径耗散可以是用公里数表示的路径长度。采用行动a从状态s走到状态s’所需要的单步耗散用c(s, a, s’)。

问题的解,是从初始状态到目标状态的一组行动序列。

解的质量,由路径耗散函数衡量,路径耗散值最小的即为最优解。

初始状态、行动和转移模型定义了问题的状态空间,即,从初始状态可以达到的所有状态的集合。

罗马尼亚地图就可以解释为一个状态空间图,结点表示状态,结点之间的弧表示行动。状态空间中的一条路径指的是通过行动连接起来的一个状态序列。

罗马尼亚案例的PEAS
(Performance性能 ,Environment环境,Actuators执行器,Sensors传感器)

可观察的:Agent总是知道当前状态,Agent在罗马尼亚开车,每到达一个城市通过观察访问标识,知道是否访问过该城市。

离散的:在任一给定状态,可选的行动是有限的,在罗马尼亚游玩时,每个城市只与有限个数城市相邻。

已知的:Agent知道每个行动达到的状态(地图显示)

确定的:每个行动的结果唯一可确定。


真空吸尘器世界的问题形式化:

  • 状态:由Agent位置和灰尘位置决定。Agent的位置有两个,每个位置都可能有灰尘。因此可能的世界状态是2*2**2=8个。对于具有n个位置的大型环境而言,状态数为n*2**n个。

  • 初始状态:任何状态都可能被设计成初始状态。

  • 行动:这个任务环境相对简单,每个状态下可执行的行动有三个:Left ,Right ,Suck。大型任务环境下可能还有Up 和 Down。

  • 转移模型:行动会产生它所期待的后果。除了左边位置不能再向左移动,右边位置不能再向右移动,干净的位置Suck不会产生效果。

  • 目标测试:检测所有位置是否干净。

  • 路径损耗:每一步耗散值为1。因此整个解路径的耗散值是路径中的步数。


八数码问题的形式化:

  • 状态:描述指明8个棋子以及空格在9个方格上的分布。
  • 初始状态:任何状态都可能是初始状态。注意要到达任何一个给定的目标,可能的初始状态中恰好只有一半可以做开始。
  • 后继函数:用来产生通过四个行动(上下左右)能够到达的合法状态。
  • 目标测试:用来检测状态是否契合目标布局。

路径损耗:每一步耗散值为1。因此整个解路径的耗散值是路径中的步数。


八皇后问题的形式化:

这类问题的形式可以划分为两类:

  1. 增量形式化(从空状态开始,每次添加一个皇后)这是最笨的方法,盲目行动:
  • 状态:棋盘山0-8个皇后的任意摆放都是一个状态。
  • 初始状态:棋盘山没有皇后。
  • 行动:在任一空格增加摆放一个皇后。
  • 转移模型:将增加了皇后的棋盘返回。
  • 目标测试:8个皇后都在棋盘山,且无法返回。
  • 思考:如果禁止把一个皇后放到可能被攻击的格子里,这样的形式化更好?
  • 状态:n皇后在棋盘山任意摆放,满足从最左边n列中每列一个皇后,保证没有皇后能攻击另一个。
  • 行动:最左侧的空列中选择一格摆放一个皇后,要求该皇后无法受到其他皇后攻击。
  1. 完整状态形式化
  • 状态:8个皇后的任意摆放都是一个状态。
  • 初始状态:棋盘上有8个皇后。
  • 行动:选择一个皇后移动。
  • 转移模型:将移动后的棋盘返回。
  • 目标测试:8个皇后都在棋盘上,且相互之间无法攻击。

无论哪种情况,都不需要考虑路径消耗,只需考虑最终状态。


NO.74——《人工智能·一种现代方法》通过搜索进行问题求解 学习笔记相关推荐

  1. 计算机视觉——一种现代方法(第二版)学习笔记

    计算机视觉--一种现代方法(第二版)学习笔记 第1章 摄像机的几何模型 如上左图所示,我们需要将一个空间点X映射到一个图像点x(3维->2维)上即 根据右上图我们很容易推到处下面的变换: 这个结 ...

  2. 人工智能 一种现代方法 第14章 概论推理

    文章目录 贝叶斯网络 贝叶斯网络是什么 一种构造贝叶斯网络的方法 条件分布的有效表示 贝叶斯网络的精确推理 推理任务 通过枚举进行推理 变量消元算法(避免重复计算) 贝叶斯网络的近似推理 直接采样 似 ...

  3. 人工智能 一种现代方法 第10章 经典的规划问题(classical planning)

    文章目录 规划问题定义(PDDL)为一个搜索问题 状态空间搜索规划算法 前向状态空间搜索 后向相关状态搜索 规划的启发式 资源分享 本文旨在讲明: 1)规划问题定义(PDDL)为一个搜索问题 2)前向 ...

  4. 人工智能 一种现代方法 第11章 现实世界的规划与行动

    文章目录 时间.调度和资源 车间调度问题 忽略资源约束的时间调度问题:关键路径方法 有资源约束的时间调度问题 分层规划 搜索原语解 搜索抽象解 非确定性问题的规划 无传感器规划 应急规划 资源分享 本 ...

  5. 人工智能 一种现代方法 第5章 对抗搜索

    文章目录 博弈 博弈中的优化决策 Minmax算法(极小极大算法) 多人博弈时的最优决策 α-β剪枝(重点) 不完美的实时决策 评估函数 截断搜索 向前剪枝 资源分享 博弈 对抗搜索:竞争环境中每个A ...

  6. 2020年高等数学方法与提高(上海理工大学)学习笔记汇总

    写在前面: [1] 本系列文章涉及内容已与授课教师联系,已获得许可.如有不妥之处,请联系博主740925018@qq.com. [2] 对授课教师表示衷心感谢.贾老师的高等数学方法与提高.数学分析等课 ...

  7. 几种常见的IPC(进程间通信)学习笔记

    几种常见的IPC(进程间通信)学习笔记 我们知道进程是资源分配的最小单位,而线程是资源调度的最小单位.我们涉及比较多的通常是多线程开发,因为现在的程序要处理复杂的任务,往往需要多线程,确保主线程不会因 ...

  8. 2020年高等数学方法与提高(上海理工大学)学习笔记:一元函数积分学

    写在前面: [1] 本系列文章涉及内容已与授课教师联系,已获得许可.如有不妥之处,请联系博主740925018@qq.com. [2] 请读者尊重知识产权,尊重授课教师的成果. [3] 对读者表示感谢 ...

  9. NO.73——《人工智能·一种现代方法》Agent学习笔记

    Agent 首先,何为Agent?通过传感器感知环境,并通过执行器对所处环境产生影响. Agent的感知序列:是该Agent存储的所有输入历史的完整数据. Agent函数 Agent函数是抽象的数学描 ...

最新文章

  1. ExtendTableView
  2. java后期发展方向_2020年前3季度工程自卸车市场咋样?后期朝啥方向发展?
  3. linux网络管理技术,linux网络管理 一
  4. QT的QBitArray 类的使用
  5. 详解Spring框架的AOP机制
  6. 求给定精度的简单交错序列部分和 (15 分)
  7. [NOIp2016]天天爱跑步 线段树合并
  8. android 的a标签,Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)...
  9. SpringBoot+JSON+AJAX+ECharts+Fiddler实现前后端分离开发可视化(进阶篇)
  10. 整理:几款好用的Markdown编辑器
  11. 常用的三种非对称加密算法
  12. 计算机知识与技能比赛活动总结,中职技能大赛总结(精选6篇)
  13. cistern java,basin是什么意思_basin怎么读_basin翻译_用法_发音_词组_同反义词_盆-新东方在线英语词典...
  14. 华为云上传docker镜像
  15. Apache Kafka(七)- Kafka ElasticSearch Comsumer
  16. JavaScript 正则匹配中英文姓名
  17. 【电商】电商后台---商品管理系统
  18. wifi设备名称android,Android设置WiFi设备名解析
  19. dhcp应该开启还是关闭(dhcp应该开启还是关闭)
  20. vim 写文档 (自身功能tags, txt2tags生成网页pdf等)

热门文章

  1. 拓臻生物任命Senthil Sundaram为首席执行官、Mark Vignola, Ph.D.为首席财务官、Erin Quirk, M.D.为总裁
  2. 富士康c语言试卷答案,富士康笔试真题分享
  3. sql查询两个表的关联关系
  4. trs java_trs常见问题 - This Is A FineDay - BlogJava
  5. 计算机知识培训感言,关于计算机培训心得体会
  6. 在https页面中使用iframe出现安全警告的解决方法
  7. Python作业“骰子游戏”
  8. 罗振宇 知识就是力量之如何成为一个受欢迎的人
  9. Mac 退出与卸载 GlobalProtect
  10. clob类型字段最大存储长度_Oracle的CLOB大数据字段类型