文章目录

  • 规划问题定义(PDDL)为一个搜索问题
  • 状态空间搜索规划算法
    • 前向状态空间搜索
    • 后向相关状态搜索
  • 规划的启发式
  • 资源分享

本文旨在讲明:
1)规划问题定义(PDDL)为一个搜索问题
2)前向搜索,后向搜索,及搜索的启发式
3)从规划图获得启发式及提取规则

规划问题定义(PDDL)为一个搜索问题

Planning Domain Definition Language(简称PDDL,规划区域定义语言)
规划:设计一个动作规划以达到目标
ch03的基于搜索的问题求解Agent和ch07的逻辑Agent是一种规划Agent。
用PDDL能够描述ch03和ch07无法描述的规划问题。
因此,规划研究者选择了要素化(factored representation)——用一组变量表示世界的一个状态的表示方法。可使用PDDL语言。

将规划问题定义为一个搜索问题(要素有哪些?)

  • 状态流(fluent)(状态变量的同义词)的合取,这些流是基元的(无变量),无函数的原子。
    例如,Poor∧Unknown可能代表倒霉的Agent的状态;
    在一个包裹传递问题中的状态可以是At(Truck 1 , Melbourne)∧At(Truck 2 ,Sydney)
    在一个状态中,以下流是不允许的::At(x,y)(有变量) 、¬Poor()、At(Father(Fred),Sydney)(使用了函数符号)
  • 动作模式:动作可用动作模式来描述,动作模式隐式描述了ACTIONS(s)和RESULT(s, a)。

例如直升机从一个地点飞行到另一个地点的动作模式:
Action(Fly(p, from, to),
PRECOND: At(p, from) ∧Plane§ ∧Airport(from)
∧Airport(to)
EFFECT: ¬At(p,from) ∧At(p,to))
这个模式有动作名、模式中用到的所有变量列表、前提(precondition)、以及效果(effect)。

PDDL根据什么发生了变化来描述一个动作的结果;不提及保持不变的东西。动作的前提和效果都是文字(原子语句或原子语句的否定)的合取。前提定义了动作能被执行的状态,效果定义了执行这个动作的结果。

通过为所有的变量代入值而得到基元动作:
Action(Fly(P 1 , SFO, JFK),
PRECOND: At(P 1 , SFO) ∧Plane(P 1 ) ∧Airport(SFO)
∧Airport(JFK)
EFFECT: ¬At(P 1 , SFO) ∧At(P 1 , JFK))

ACTIONS(s):一个动作a能在状态s被执行,如果s蕴涵了a的前提。蕴涵也可用集合语义来表达:s╞q当且仅当q中的正文字都在s中,且q中的负文字都不在s中。用形式符号,可以说a∈ACTIONS(s)) ⇔ s╞ PRECOND(a)
如果状态s满足前提,我们称在状态s动作a是适用的(applicable)。

RESULT(s,a):在状态s执行动作a的结果定义为状态s’,它由一组流(fluent)表示,这组流由s开始,去掉在动作效果中以负文字出现的流(称之为删除列表delete list或DEL(a)),并增加在动作效果中以正文字出现的流(称之为增加列表add list或ADD(a)):
s’=RESULT(s,a) = (s – DEL(a))∪ADD(a)

初始状态是基元原子的合取。(对于所有状态,使用封闭世界假设,这意味着任何没有提到的原子都是假的。)
目标就像前件:是可以含有变量的文字(正文字或负文字)的合取,像At(p,SFO)∧Plane§。变量是存在量化的
当我们能找到一个动作序列,使得在蕴涵了目标的状态s结束,问题就得到了解决。例如,状态Plane(Plane 1 )∧At(Plane 1 ,SFO)蕴涵了目标At(p, SFO)∧Plane§。

经典规划的复杂性
本节考虑规划的理论上的复杂性,并区分两个决策问题。
PlanSAT:询问是否存在解决一个规划问题的某个规划
限界(bounded)PlanSAT:询问是否存在用于找到最优规划的、长度小于k的一个解。
限界(bounded)PlanSAT是NP-完全的,而PlanSAT属于P。换言之,最优规划通常困难,但次优规划有时是容易的。

状态空间搜索规划算法

前向状态空间搜索

规划问题的描述定义了一个搜索问题,启发式搜索算法(第3章)或局部搜索算法(第4章)可求解规划问题。
前向搜索从初始状态开始搜索状态空间,寻找一个目标。
s’=RESULT(s,a) = (s –DEL(a))∪ADD(a)

前向搜索:从初始状态出发,使用问题的动作,向前搜索目标状态
后向搜索:从目标的状态集出发,使用动作的逆,向后搜索初始状态。
1)前向搜索容易探索到无关动作
2)规划问题常有大的状态空间
对前向搜索来说,显然,没有精确的启发式,即使相对小的问题实例也是无望的。但是规划的许多现实应用还是能自动导出非常强的独立于领域的启发知识,这使得前向搜搜具有可行性。

后向相关状态搜索

从目标开始,向后应用动作,直到找到达到初始状态的步骤序列。 在每一步考虑一组相关状态,而不是单个状态。
从目标开始,对一组状态进行描述的文字之合取。
可喜的是,PDDL表示的设计使得后退动作很容易。
最后一个问题是:决定哪些动作是后退的候选动作,在前向中我们选择适用的动作——在规划中可能是下一个步骤的那些动作在后向中,我们需要相关的动作——导致当前目标状态的规划中可以作为最后一个步骤的那些动作。
一个动作要与一个目标相关,则必须明显对目标有贡献。
尽管后向搜索是分支因子低于前向,然而,后向使用状态集而不是单个状态的事实使得它更加难以想出好的启发知识,这就是当前主流偏向前向的主要原因。

规划的启发式

没有好的启发式函数,无论前向后向都不高效。

可采纳的启发式。可以通过更容易求解的松弛问题导出。

将搜索问题想成一个图,节点为状态,边为动作。问题是要找一条连接初始状态到目标状态的路径。
有2个方法来松弛这个问题:
1)加入更多的边,使得路径更容易被找到
2)多个节点组合到一起,将状态空间抽象为具有更少状态的形式
忽略前提启发式
忽略删除列表启发式
定义启发式的关键思想是分解(decomposition)

资源分享

实验代码下载:
https://github.com/yyl424525/AI_Homework
人工智能-一种现代方法中文第三版pdf、课件、作业及解答、课后习题答案、实验代码和报告、历年考博题下载:https://download.csdn.net/download/yyl424525/11310392

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

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

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

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

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

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

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

  4. [转载] 人工智能:一种现代方法——第1章 绪论

    转载于:https://www.cnblogs.com/6DAN_HUST/archive/2012/06/24/2560216.html

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

    问题求解Agent 如何将问题形式化?(以罗马尼亚案例为例) 初始状态:In(Arad) 行动:ACTIONS(s),即,给定一个状态s,ACTIONS(s)返回状态s下可以执行的动作的集合.例如状态 ...

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

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

  7. 《人工智能-一种现代方法》笔记

    第一章 什么是人工智能 AI 是行动还是思考

  8. 谷歌研究总监Peter Norvig赴斯坦福任教,著有《人工智能:一种现代方法》

    机器之心报道 编辑:泽南 Peter Norvig:AI 在线课程 10 万报名只有 1.6 万人上完,这才是需要解决的问题. 10 月 11 日,斯坦福大学宣布谷歌研究总监(Director of ...

  9. 在Windows 10上观看DVD的两种简便方法

    在Windows 10上观看DVD的两种简便方法 - Win 10学院 - win10系统之家 (ghost580.com) 工具1: 5KPlayer 工具2: WinX DVD Ripper Pl ...

最新文章

  1. Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)
  2. mysql keepalived_mysql高可用+keepalived
  3. android oppo调试模式,OPPO A59 开启USB调试模式
  4. 以“数”赋能驱动企业转型 美的集团秘诀都在这里
  5. c8800 mp4设置
  6. 检测iOS的APP性能的一些方法
  7. Java 中的目录创建处理
  8. 【CF#931.B】World Cup (思维,模拟)
  9. oracle ora-16003,ORA-31600错误分析
  10. [转载]如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧
  11. 《高效团队开发:工具与方法》
  12. 实对称矩阵的特征值求法_MIT—微分方程与线性代数笔记6.5 对称矩阵,实特征值,正交特征向量...
  13. 洛谷P3853 路标设置
  14. 计算机制作3d电影属于,手把手教你如何自制简单3D眼镜在家看3D电影
  15. 8.0强行转换后变成了7_南方Cass软件坐标转换方法!
  16. 几种常用的电机控制法
  17. 【CF235C】Cyclical Quest(后缀自动机)
  18. Anker 拓展坞连接网线经常断网问题
  19. 微信小程序:日期转化为时间戳+时间戳转化为日期(最全最实用)
  20. 推荐系统三十六式——学习笔记(三)

热门文章

  1. PowerBuilder(PB6)安装过程中的种种问题及解决方式
  2. 基于SpringBoot框架的管理系统【完整项目源码】
  3. 微信小程序跨域问题 post 403 Invalid CORS request 后台
  4. win11与VM不兼容
  5. CAD快速看图怎么转换成PDF格式?这一款软件就足够
  6. 说完了 xxl-job 的执行器原理,再来聊聊调度中心是如何调度任务的
  7. 计算机二级vf上机题库,计算机二级VF上机题库
  8. 百度SEO一本通pdf
  9. dex2jar2.0 工具命令使用 及生成error.zip解决
  10. 【机器学习】模型评估-手写数字集模型训练与评估