ARA - Anytime A with provable bounds on sub-optimality

[[NIPS-2003-ara-anytime-a-with-provable-bounds-o.pdf]]
#planning/path

整体结论

实际世界的规划问题所能利用的时间是有限的,而anytime planners正适于此:迅速找到一个可行解,并在时间允许时不断提高解的质量直至得到最优解。

而ARA*则是一种带启发的anytime planner先在宽约束下找到次优解,在时间允许时再不断收缩约束,尝试找最优解。而跟其他的最大不同,它还能尽量重用之前的搜索结果,计算效率显著提高。

采用设定

  1. 先搜索次优,再尝试最优,因此不保证结果总是最优解。

  2. 采用A*算法结合膨胀的启发函数。

  3. 采用大量的重用操作。

关键观点

  1. 常见的anytime planner在得到最优cost之前,无法得到次优的边界,也无法控制次优解。因此无法判断当前解、过去解的质量,也无法为下次求解分配合适的时间。

  2. A*的改进算法:

    1. 带膨胀系数的A*,通过膨胀启发值,然后逐渐缩小,得到系列次优解。尽管能控制边界,然而重复计算极多,效率低。而减少重复计算,就是ARA*的优化方向。

    2. 而与此相反,逐渐膨胀的方式可以减少重复,但无法保障次优的边界。

    3. 膨胀的是启发值H的系数,并不会导致跳步,跟自动调整栅格大小的算法也不一样。它只会调整G和H的比重,令搜索方向偏向目标的位置。

    4. 由于使用的系数>=1,因此是膨胀而不是收缩。启发值和系数应该对应来看,也不是说所有小于1的系数都不合理,或者只是因为启发值过大,需要增加广度的比重。

  3. Anytime Repairing A*(ARA*):膨胀系数A*的同时,重用之前循环得到的搜索结果。

    1. 重用的原则是:每当一个open的格子重新搜素,将它周围的格子计算g,若跟之前的g一样,就不用继续更新该格子和它周围的格子。(所有节省的计算,都是因为这一步。)
  4. 带膨胀系数的A*搜索:

在这里插入图片描述

  1. 在改变膨胀系数的时候,就会产生local inconsistency:g值在相邻格子不连贯。而产生不连贯的根源,在于不同路径来到同一个格子的cost不同。产生不同路径的根源又在于当初选择的方向不同,而方向是根据膨胀系数改变的。

  2. 每当发现local inconsistency,就重新将其放回open list,但每一次循环只放回一次,这就保证了次优边界。如果没发现,那就重用之前的结果,因此减少了搜索次数。

  3. 但这样Open list之中就不是所有local inconsistency的集合了,而为了保证记录下所有存在的local inconsistency,新增INCONS list。

  4. 此外,与普通A*的不同点还有最后一点:结束条件不同。

    1. 膨胀系数收缩到1,变成标准A*
    2. 其他的就一样了:超时、无解
  5. 完整的算法伪代码如下:

    1. 从open里拿出最小的s,放入closed
    2. 更新s及周围的格子s’的g值
    3. 当s‘的g出现不连续,如果在closed中,就移入incons,如果不在就放入open(所有搜索过的不会直接进入open,而是进入incons等待下一次循环再回到open,这就保证了搜索的次数有限)
    4. 收缩系数
    5. 将incons移入open,根据s重新排序,清空closed(因此每次循环开始的时候,除了open可以非空,incons和closed肯定是空的,而open带着上一次计算的s进行热启动,便加快了每一次的搜索。)
    6. 再来一次1~5,直至结束条件成立。
      ![[…/调研/_resources/061e7f8cd3951b00ada532dfaa6da55b_MD5.png]]在这里插入图片描述
  6. 实验结果:

    1. 地图尺寸 91.2 x 94.4 m, 每个格子大小 0.4 x 0.4 m,2D搜索空间53808个。

    2. 4D state space:xy坐标、朝向、速度。

    3. 在25s时均得到最优解。

在这里插入图片描述

遗留问题

  • 为什么次优路径的边界由膨胀系数k决定:g* <= g <= k * g* (@2024-09-01)

关联论文

  1. 理论计算:ARA : formal analysis
  2. Incremental A* NIPS-2001-incremental-a-Paper:
    1. 本文中通过循环迭代来提高搜索速度的方法来源
  3. 启发规划:Planning as heuristic search
  • 11
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值