文章目录

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

本文旨在讲明:
1)时间,调度,资源
2)分层规划
3)非确定性问题规划

时间、调度和资源

经典规划能做:
1)做什么动作
2)按什么顺序做
不能做:
1)动作何时发生
2)持续多久
3)考虑资源约束
经典规划不能讨论时间,故而不能解决调度问题,也不能讨论资源约束

那么如何解决呢?
先规划,后调度。

  • 做什么动作 规划阶段
  • 按什么顺序做 规划阶段
  • 动作何时发生 调度阶段
  • 持续多久 调度阶段
  • 考虑资源约束 调度阶段

把整个问题分解为一个规划阶段和一个接下来的调度阶段。在规划阶段选动作,考虑次序约束,满足问题目标。在调度阶段把时间信息加入到规划中以满足资源和期限约束

车间调度问题

问题描述:

  • 每个动作有一个持续时间(duration)和一组动作所要求的资源约束
  • 解必须规定每个动作的开始时间,而且必须满足时间次序约束和资源约束
  • 假设代价函数是完工时间(从开始到结束时间长)
  • 用数量表示资源——例如Inspectors(2)表示两个检查器
忽略资源约束的时间调度问题:关键路径方法

穿过偏序规划图的一条路径从start开始,以finish结束。
关键路径是时间跨度最长的路径,延误关键路径上任一动作开始时间就会延长规划时间。
不在关键路径上的每个动作有个时间窗口,给出该动作最早可能开始时间ES和最晚可能开始时间LS,定义为[ES,LS]。
所有动作的ES和LS一起构成问题的调度。
LS-ES被称作动作的松弛。关键路径上的每个动作没有松弛

下面的公式可以作为ES和LS的定义以及计算它们的动态规划算法的轮廓(给定一个动作的偏序,寻找最小调度持续时间,最小化完工时间)。A和B是动作,A≺B表示动作A在B之前:

\begin{aligned}
& ES(Start) = 0  \\
&ES(B) = max_{A \prec B } {ES(A)+ Duration(A)}  \\
&LS(Finish) = ES(Finish)  \\
& LS(A) = min_{B \succ A}{LS(B) - Duration(A)} \\
\end{aligned}

其中,ES(B)为那些直接前驱动作最早完成时间的最大值。
这个过程重复进行,直到每个动作被赋予一个ES值。

有资源约束的时间调度问题

当引入资源约束的时候,同一个资源就不能重叠使用了。

分层规划

层次化分解——为什么需要在更高抽象层次上规划?
答案:将一个任务分解为大量的单个行动;对于大规模问题,这完全是不切实际的

原语动作(PA,primitive action):不能再细化,具有标准的前提-效果模式
高层动作(HLA,high level action):每个HLA有一个或多个可能的细化动作序列,其中每个动作可以是一个HLA或一个PA。
一个只包含原语动作的HLA的细化被称为该HLA的实现

HLA可能恰好只有一个实现;也可能有多个可能的实现:

  • 当一个HLA恰好有一个实现时,我们能够从该实现的前提和效果中计算出这个HLA的是前提和效果,然后这个HLA本身就可看做是一个原语动作。
  • 当一个HLA有多个可能的实现时,有两种选项:
    1)搜索原语解:搜索一个可以工作的实现;
    2)搜索抽象解:直接推理,无须搜索实现

高层规划是HLA序列,高层规划的实现是该HLA序列中每个HLA的实现的拼接。

搜索原语解

答案:反复在当前规划中选一个HLA,用它的细化替换它,直到规划达到目标。
对于一个非层次化的、每个状态有b个可用动作的前向状态空间规划器,代价为O(b^d)。
对于一个HTN (层次任务网络)规划器,假设一个一般的细化结构:每个非原语动作有r个可能的细化,每个细化有k个动作。如果在原语层有d个动作,那么在根下方的层数是$log_kd$,因此内部细化结点数是$1+k+k^2+...+k^{log_k{d-1}}=(d-1)/(k-1)$。每个内部结点有r个可能的细化,因此可构建出$r^{(d-1)/(k-1)} $可能的分解树。小r和大k可以导致大量的节省。

搜索抽象解

如果得到的高层规划可证明能达到目标,那么这个高层规划就是抽象解。那么我们可以致力于这个规划,对这个规划的每一步进行细化。这样,搜索得到指数量级的缩减。

每个声明能达到目标的高层规划是在“它至少有一个实现能达到目标”的意义上能达到目标。这个特性被称为是HLA描述的向下细化特性

可到达集:给定一个状态s,一个HLA的到达集h记为REACH(s,h),是这个HLA的任一实现可到达的状态集合。

在高层规划中搜索,找出一个高层规划其可到达集与目标相交。

HLA的效果
当HLA只有恰好一个实现时,我们能够从该实现的前提和效果中计算出这个HLA的(前提和)效果(习题11.3)

很多情况下一个HLA可能有无限多的实现,我们只能对效果进行近似,从而可能产生任意摇摆不定的可到达集
一个HLA动作h使用两种近似:
乐观描述(optimistic description)$REACH^+ (s,h)$可能夸大可到达集
悲观描述(pessimistic description) $REACH^-(s,h)$可能低估可到达集。

REACH^-( s , h ) \subseteq  REACH( s , h ) \subseteq  REACH^+( s , h )

精确描述下如何进行目标测试?(判断一个规划能否能够达到目标)
在精确描述下,一个规划或者工作(其可到达集与目标相交)或者不工作(其可到达集与目标不相交) 。

近似描述下如何进行目标测试?
如果悲观可到达集与目标集相交,那么这个规划是能够工作的,即必定有解。
如果乐观可到达集与目标集不相交,那么这个规划是不能够工作的。

在近似描述下有中间状态:如果乐观集与目标相交,但悲观集与目标不相交,那么我们不能确定规划是否工作。当出现这种情况,怎么办?
当出现这种情况,通过进一步细化规划可以消除这种不确定性。

非确定性问题的规划

用于无观察的环境中的无传感器规划(sensorless planning);
用于部分可观察的、 非确定性环境中的应急规划(contingency planning);
用于未知环境中的在线规划(online planning)和重新规划(replanning)。

涂色问题
考虑这个问题:给定一把椅子和一张桌子,目标是对其进行匹配——有相同颜色。初始状态我们有两罐颜料,但颜料和家具的颜色未知。只有桌子开始时在Agent的视眼内:
Init(Object(Table)∧Object(Chair)∧Can(C 1 ) ∧Can(C 2 ) ∧InView(Table))
Goal(Color(Chair,c) ∧Color(Table,c))

有两个动作模式:从颜料罐去掉盖子,使用打开的罐子中的颜料涂抹对象。允许前提和效果包含不属于动作变量列表中的变量(因为这是在部分可观察的情况下;在完全可观察的情形下,这是不允许的)

  • Action(RemoveLid(can),
    PRECOND: Can(can)
    EFFECT: Open(can))
  • Action(Paint(x,can),
    PRECOND: Object(x)∧ Can(can)
    ∧Color(can,c) ∧ Open(can)
    EFFECT: Color(x,c))

Agent需要一个使对象(每次一个)进入到视线里的动作模式:
Action(LookAt(x),
PRECOND: InView(y) ∧ (x≠y)
EFFECT: InView(x) ∧¬InView(y))

为了求解部分可观察问题,Agent实际行动时,它的传感器将提供感知信息,但当它进行规划时,它将需要它的传感器模型。第4章中,这个模型是由一个函数给定的,PERCEPT(s)。对于规划,我们用感知模式(percept schema)来扩展PDDL:

  • Percept(Color(x,c),
    PRECOND: Object(x) ∧ InView(x))
  • Percept(Color(can,c),
    PRECOND: Can(can) ∧ InView(can) ∧ Open(can))

对于一个完全可观察的环境,对于每个流(fluent)我们将有一个没有前提的感知模式。
另一方面,一个无传感器的Agent根本没有感知模式。

无传感器规划

应急规划

资源分享

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

人工智能 一种现代方法 第11章 现实世界的规划与行动相关推荐

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

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

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

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

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

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

  4. 《嵌入式系统数字视频处理权威指南》——第1章 现实世界中的视频

    本节书摘来自华章计算机<嵌入式系统数字视频处理权威指南>一书中的第1章,作者:(美)Michael Parker Suhel Dhanani 更多章节内容可以访问云栖社区"华章计 ...

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

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

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

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

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

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

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

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

  9. 人工智能:一种现代方法汇总

    来源:(美)Stuart J.Russell, Peter Norvig. 人工智能:一种现代方法(第二版). 北京: 人民邮电出版社, 2004. 作者简介及目录 第一部分 人工智能 第1章 绪论 ...

最新文章

  1. ggplot2笔记8:主题设置、存储导出
  2. leetcode算法题--推多米诺
  3. JAVA语法——经典题目09
  4. 项目经济规模的估算方法_估算英国退欧的经济影响
  5. 富士通台式电脑_电脑bios怎么进入-电脑bios进入方法介绍
  6. Java笔记-spring boot支持jsp文件做前端页面
  7. JavaScript 图片的上传前预览
  8. nodejs的socket网络编程
  9. 向量乘向量的转置的平方_MIT线性代数笔记1.5(转置,置换,向量空间)
  10. ORCAD元件的批量替换与更新
  11. TCP连接异常终止(RST包)场景分析
  12. linux 关于回程路由相关问题
  13. Julia 机器学习 ---- 单变量线性回归 和 多元线性回归 (Linear regression)
  14. 基于OpenCV的人脸识别考勤系统(三)
  15. 安利自己读CS博士的鸡汤
  16. mysql今天日期_MySQL获取今天的日期
  17. python3数据处理(一)-- 解析XML,Excle文件
  18. 如何将图片存进SQL数据库中以及从数据库读取照片(解决办法)
  19. EAUML日拱一卒-微信小程序实战:位置闹铃 (13)-使用类优化程序结构
  20. 【Matlab优化预测】布谷鸟算法优化灰色模型预测【含源码 1244期】

热门文章

  1. 上三角矩阵下三角矩阵
  2. Java基于网络爬虫的股票信息收集软件
  3. 直播视频跨浏览器预览方案(ffmpeg+VideoJS+H5)
  4. Anaconda超详细下载安装配置教程(Windows)
  5. c语言_std=c11,关于带有std = c11 arg的c:GCC警告
  6. 借船过河:一个据说能看穿你的人性和欲望的心理测试
  7. Unity中文离线文档以及提升访问速度
  8. PMP备考指南之第九章:项目资源管理
  9. 51单片机 Proteus仿真 智能窗帘
  10. 已知圆上任意两点求圆心和半径_已知圆上三点坐标求圆心和半径