planning algorithms chapter 2

planning algorithms chapter 2 :Discrete Planning

离散可行规划导论

问题定义

离散可行规划

在离散规划中,状态是“可数”的,有限的。
离散可行规划:

  1. 非空状态空间 X
  2. 对于每个状态 x,存在一个有限的动作空间 U(x)
  3. 对于每个状态和动作空间,存在状态转移方程,产生一个新的状态
  4. 一个初始状态 xi
  5. 一个目标集 Xg

为了方便表达离散可行规划的定义,通常采用有向状态转移图来表示,图上的顶点集合表示状态空间 X,只有当两顶点之间可状态转移时,图上两顶点之间的有向边才存在。初始状态和目标集可以表示为图上特别指定的顶点。

有向状态转移图

离散规划的例子

  • 2D 网格上移动(“迷宫”)

迷宫

  • 魔方拼图

拼图

图搜索算法

前向搜索算法

通用前向图搜索算法模板

上图显示了通用图搜索算法模板,其中有几点需要注意:Q 内部如何排序,如何判断状态属于目标状态,如何得到计划(动作序列),如何判断该状态是否已经访问过,是否需要更新状态代价值(如在Dijkstra 和 A* 算法)

几种前向搜索算法,区别在于定义了Q 这个优先级队列内部不同的排序方式

  • 广度优先:FIFO
  • 深度优先:LIFO
  • Dijkstra :一种图单源最短路径搜索算法,一种特殊的动态规划形式
    在Dijkstra中,图上每条边附带一个代价(l(x, u) >= 0),Q 内部是按照从初始状态到达该状态的累计代价(C(x),cost-to-come)排序。cost-to-come 在搜索过程中通过DP方式来增量计算(C(x‘) = C(x) + l(x, u), 代表最优)。
    Dijkstra 可以保证一旦某个状态被访问,则该状态的 cost-to-come一定是最优的。Dijkstra 内部 Q 实现采用的 Fibonacci heap 这种数据结构,可以实现在常数时间内判断某个状态是否被访问过。
  • A-star :基于Dijkstra进行扩展,引入启发项值(G(x),cost-to-go),当G(x) = 0 时, A-star 退化成Dijkstra,Q 内部是按照从初始状态到达目标状态的预估最优代价( C(x’) + G(x‘)) 进行排序。
  • 最佳优先搜索:Q 内部是按照 cost-to-go 排序,一种贪心搜索,不保证最优,但搜索速度快。
  • 迭代加深搜索:通过不断增加深度优先搜索深度的一种搜索,将深度优先搜索转换为一种系统性搜索方式(能够访问可到达的所有状态)。
    迭代加深搜索相比 BFS 使用更少的内存,迭代加深搜索结合 A-star 的思想,形成了 IDA* 算法,在每次迭代过程中,最大深度步长为C(x’) + G(x‘)。

其他搜索算法

  • 反向搜索算法

通用反向搜索算法模板

  • 双向搜索算法

通用双向搜索算法模板
当两棵搜索树相遇时,搜索结束,返回成功。如果其中任一搜索树的优先级队列为空, 且两颗树未相遇,则搜索结束,返回失败。

搜索算法的统一视角

上述所有的搜索算法遵循以下一些共同的模式:

  1. 初始
    搜索开始时,搜索图 G(V,E)中 E为空集,V只包含初始状态
  2. 选择顶点
    从V中选择一个顶点,这通常是通过维护一个优先级队列实现
  3. 应用动作
    基于V中选择的某个顶点,应用动作后,生成一个新的状态 x = f(x0, u)
  4. 向搜索图中插入有向边
    新状态 x 如果不在 V 中,则将 x 插入到 V 中
  5. 检查解决方案
    如果只有一颗搜索树,根据搜索图 G 得到从初始状态到目标状态的路径会比较简单。如果搜索树数量大于 1 颗,复杂度会增加。
  6. 返回到步骤 2
    迭代直到找到一个解决方案。

离散最优规划

最优定长规划

离散定长最优规划
\(L\left ( \pi _{K} \right ) = \sum_{k=1}^{K}l(x_{k},u_{k}) + l_{F}(x_{F})\)

通过引入代价项Lf(xf)这一技巧,将离散可行规划中的约束转换为优化问题代价函数中的一项。

基本思想: 最优规划解决方案的子组成方案也是最优的,于是可以通过动态规划方法解决。在最优定长规划中,采用一种迭代算法,称为 值迭代,它的主要思想是在状态空间中迭代计算最优的 cost-to-go(或 cost-to-come)。Dijkstra’s algorithm 也是 值迭代的一种方式。

反向值迭代

基本思想: 在状态空间中迭代计算最优的 cost-to-go 代价值。在特殊场景下,该方法退化为 Dijkstra 方法。

符号: $ G_{k}^{ \ast} $ :F 表示最后一步,$ G_{k}^{ \ast} $ 表示从第 k 步到 最后一步(F 步)最佳计划下的累计代价

G

初始条件: $ G_{F}^{ \ast}\left ( x_{F} \right ) = l_{F}\left ( x_{F} \right ) $
结论:

结论
推导过程:

推导

值迭代过程:
$ G_{F}^{ \ast}\rightarrow G_{K}^{ \ast}\rightarrow G_{K-1}^{ \ast}\cdots G_{k}^{ \ast}\rightarrow G_{k-1}^{ \ast}\rightarrow\cdots G_{2}^{ \ast}\rightarrow G_{1}^{ \ast} $

时间复杂度: $ O\left ( K\left | X \right |\left | U \right | \right ) $

离散最优规划标准定义\(L\left ( \pi _{K} \right ) = \sum_{k=1}^{K}l(x_{k},u_{k}) + l_{F}(x_{F})\),该时间复杂度为 $ O\left | U \right |^K $,通过引入动态规划,极大降低了复杂度。

举例:

最优cost-to-go
如上图,a 列 $ G_{1}^{ \ast} $ 的值 $G_{1}^{ \ast}\left ( a \right ) $ 代表了 5 步定步长最优规划的累计代价为 6 。那么如何体现动态规划思想降低时间复杂度呢?
当计算 $ G_{4}^{ \ast} $ 的值时,只有 b 和 c 可以只经过 1 步到达 d,再经过1 步到达目标 e,因此只有\(G_{4}^{ \ast}\left ( b \right )\)\(G_{4}^{ \ast}\left ( c \right )\)为有限值。再计算 \(G_{3}^{ \ast}\) 的值时,只有经过 b 和 c 的路径才可能经过 5 步到达 目标 e,因此缩小了考虑的范围,具体程序表现为选择到达下一顶点的最小累计代价的行为。

那么,得到了最佳cost-to-go的表,如何提取最佳计划(或路径)?
一种解决方案是为每个顶点存储最优 \(G_{n}^{ \ast}\)所对应的行为,因此这样需要的内存复杂度为 \(O(K\left | X \right |)\)

正向值迭代
  • 为什么需要正向值迭代?正向值和反向值迭代的区别是什么?
    反向:
    反向值迭代可以同时找到各顶点到目标顶点的最优计划;
    反向值迭代需要目标顶点是确定不变的;
    正向:
    正向值迭代可以用来找到从初始顶点出发到其他各顶点的最优计划;
    正向值迭代需要初始顶点是确定不变的;

基本思想: 在状态空间中迭代计算最优的 cost-to-come 代价值。
下图为上例,根据正向值迭代得到的最优 cost-to-come 代价值表。
最优cost-to-come

最优不定步长规划

离散不定长最优规划

\(L\left ( \pi _{K} \right ) = \sum_{k=1}^{K}l(x_{k},u_{k}) + l_{F}(x_{F})\)

通过引入代价项Lf(xf)这一技巧,将离散可行规划中的约束转换为优化问题代价函数中的一项。

对比最优定长规划问题和最优不定步长规划的区别,主要在于终止条件的设置。
定长问题:
定长问题
不定步长:允许不同长度的计划
不定长问题

在最优不定步长问题中,从\(x_{I}\)\(X_{G}\)的两步计划\(\left ( u_{1}, u_{2}\right )\)等效于从\(x_{I}\)\(X_{G}\)的五步计划\(\left ( u_{1}, u_{2},u_{T},u_{T},u_{T}\right )\),因此最优定长规划中的正(反)向值迭代优化方法都可以扩展用于最优不定步长问题中。

使用逻辑定义离散规划

当状态空间巨大时,对于计算机去解决这样的规划问题会比较困难,基于逻辑的表示形式在定义离散规划问题时比较流行,因为输出的结果是逻辑可解释的,但是由于基于逻辑的表示形式难以泛化,因此在连续空间、感知不确定、多决策的规划问题中,状态空间的表示形式仍然适用。

STRIPS-Like 表示法

举例: 放电池到手电筒内
放电池

转载于:https://www.cnblogs.com/zwk-coder/p/11097876.html

This book presents a unified treatment of many different kinds of planning algorithms. The subject lies at the crossroads between robotics, control theory, artificial intelligence, algorithms, and computer graphics. The particular subjects covered include motion planning, discrete planning, planning under uncertainty, sensor-based planning, visibility, decision-theoretic planning, game theory, information spaces, reinforcement learning, nonlinear systems, trajectory planning, nonholonomic planning, and kinodynamic planning. "Motion planning is an important field of research with applications in such diverse terrains as robotics, molecular modeling, virtual environments, and games. Over the past two decades a huge number of techniques have been developed, all with their merits and shortcomings. The book by Steve LaValle gives an excellent overview of the current state of the art in the field. It should lie on the desk of everybody that is involved in motion planning research or the use of motion planning in applications." _ _ | | | | _ _ | | _____ ____ _____| | _| |_ ___ ____ ____ _____ ____ _| |_ ___ | || ___ |/ _ (____ | | (_ _) _ / ___) ___) ___ | _ (_ _)/___) | || ____( (_| / ___ | | | || |_| | | | | | ____| | | || |_|___ | _)_____)___ _____|_) __)___/|_| |_| |_____)_| |_| __|___/ (_____| -LEGAL TORRENTS Purpose: create a balance, share the already free stuff, public domain works, freeware, free music, free ebooks, articles, manifestos, movie trailers, and more. show the copyright owners that torrent websites shouldn't bear the responsibility of what their users upload, torrent websites are very much similar to google.. users upload what they want to upload, download what they want to download, and search for what they want to search.. by creating this balance and sharing the already free stuff, we hope to take the pressure of torrent websites.. _ _ | | | | _ _ | | _____ ____ _____| | _| |_ ___ ____ ____ _____ ____ _| |_ ___ | || ___ |/ _ (____ | | (_ _) _ / ___)
讲述机器人运动规划原理的经典书籍。 《规划算法》目录: 第Ⅰ部分 介绍性的资料  第1章 绪论   1.1 从规划(的过程)到规划(的结果)   1.2 实例与应用   1.3 规划的基本组成   1.4 算法、规划器与规划    1.4.1 算法    1.4.2 规划器    1.4.3 规划   1.5 本书的组织安排  第2章 离散规划   2.1 离散可行规划简介    2.1.1 问题表述    2.1.2 离散规划的实例    2.2 可行规划的搜索    2.2.1 一般前向搜索    2.2.2 特殊前向搜索    2.2.3 其他搜索方案    2.2.4 搜索方法的统一描述   2.3 离散最优规划    2.3.1 最优定长规划    2.3.2 不指定长度的最优规划    2.3.3 再论Dijkstra算法   2.4 用逻辑来表示离散规划    2.4.1 类似STRIPS的表示    2.4.2 转换到状态空间表示   2.5 基于逻辑的规划方法    2.5.1 部分规划空间中的搜索    2.5.2 建立规划图    2.5.3 满足性规划   进一步阅读   习题   实现 第Ⅱ部分 运动规划  第3章 几何表示与变换   3.1 几何建模    3.1.1 多边形与多面体模型    3.1.2 半代数模型    3.1.3 其他模型   3.2 刚体变换    3.2.1 一般概念    3.2.2 二维变换    3.2.3 三维变换   3.3 物体运动链的变换    3.3.1 二维运动链    3.3.2 三维运动链   3.4 运动树的变换   3.5 非刚体的变换   进一步阅读   习题   实现  第4章 位形空间   4.1 拓扑的基本概念    4.1.1 拓扑空间    4.1.2 流形    4.1.3 路径与连通   4.2 位形空间    4.2.1 二维刚体:SE(2)    4.2.2 三维刚体:SE(3)    4.2.3 物体的链与树   4.3 位形空间障碍物    4.3.1 基本运动规划问题    4.3.2 显式建模Cobs:加:平移情况    4.3.3 显式建模Cobs:一般情形   4.4 闭运动链    4.4.1 数学概念    4.4.2 R2上的运动链    4.4.3 定义一般连杆组的簇   进一步阅读   习题   实现  第5章 基于采样的运动规划  第6章 组合运动规划  第7章 基本运动规划的扩展  第8章 反馈运动规划 第Ⅲ部分 决策论规划  第9章 基本永生理论  第10章 序贯决策理论  第11章 传感器与信息空间  第12章 存在感测不确定性条件下的规则 第Ⅳ部分 微分约束条件下的规划   第13章 微分模型  第14章 微分约束条件下基于采样的规划  第15章 系统理论与分析技术
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值