赞
踩
目录
2、局部修复A*算法(Local-Repair A* ,LRA*)
4、层次化合作A*算法(Hierarchical Cooperative A*,HCA*)[2]
5、带窗口的层次化合作A*算法(Windowed Hierarchical Cooperative A*,WHCA*)
本篇文章是David Silver大佬的《Cooperative Pathfinding》[1]的阅读笔记,总结多智能体合作A*算法的同时记录一些查阅到的相关概念。
原始空间的抽象转换(abstraction transformation)类型:嵌入(Embedding)和同态映射(homomorphism)[2]。
Valtorta’s theorem指出,在使用嵌入抽象(embedding transformations)时,如果在抽象空间中使用BFS(或称盲目搜索)计算启发函数,那么A*算法会遍历在原始空间使用BFS时遍历的所有节点,造成A*算法无法加速搜索。
文献[2]介绍了上述定理的推广,如果在原始空间中使用BFS或盲目搜索时会遍历到状态S,那么在原始空间使用A*算法搜索时,要么状态S本身会被遍历到,要么S在抽象空间中的映射会被遍历到。
该推广定理带来的启发是使用同态映射可以加速搜索,因为在抽象空间中搜索一个状态,等价于在原始空间中搜索了多个状态。
在传统的A*算法中,智能体在规划路径时不考虑其他智能体的存在,因此可能导致路径冲突。Local Repair A*通过引入冲突检测和修复机制来解决这个问题。
LRA*为每个智能体规划路径时忽略其他智能体,然后智能体开始移动。当冲突即将发生时,就地解决。冲突检测方法为:
冲突检测可以在每个时间步骤进行,以确保在路径规划过程中及时发现冲突。一旦检测到冲突,Local Repair A*会进行局部修复,例如调整智能体的速度或重新规划代理的路径,以解决冲突并继续向目标前进。
缺点:拥挤区域需要不断重新规划路线,几乎每一轮都需要对A*搜索进行完全的重新计算。每次改变路线都是独立进行的,会导致循环,同一位置可能在循环中多次访问。
合作A*将任务解耦为一系列单个智能体的搜索,使用三维的预约表(坐标+时间)避免多智能体的路径冲突。
智能体计划路线所经过的网格单元被标记为不可通过,将(x、y、t)存储为哈希表,后续智能体在搜索过程中会避开这些条目,从而防止其他智能体规划出相撞的路线,这样只会存储一小部分的网格位置。
缺点:无法解决一些特定的问题,例如一个智能体的路径阻塞住了另一个智能体的所有可行路径,如下图所示。
为了加速A*搜索,文献[2]将原始空间抽象为一系列抽象空间,每层抽象空间都比下一层的更general,在抽象空间中计算启发函数。
层次化合作A*算法中的“层次”是一系列二维的、只考虑空间属性的抽象空间。层次化抽象的过程:
直接在层次化空间中使用A*搜索,由于原始空间的问题会衍生出一系列在抽象空间中搜索最佳路径的问题,因此在原始空间求解一个问题所需要扩展的节点总数将是原始空间与所有抽象空间扩展节点的总和,这大大高于直接在原始空间使用BFS所需要扩展的节点数。
为了减少扩展节点的数量,需要进行数据复用。方法如下:
此外,抽象的粒度,即组合的半径,对于搜索速度也有影响。
文献[1]介绍了第四种数据复用的方法:使用逆向可恢复A*算法(Reverse Resumable A* ,RRA*)在抽象域中搜索。
这是文献[1]提出的算法,为了解决上述算法的几个问题:
WHCA*的主要方法为:进行路径搜索时,只在原始空间的w步内(称为窗口路径)进行合作搜索,一旦到达了w步,直接在抽象空间中搜索剩余路径,w步到达的中间点到终点的距离直接使用抽象距离替代。接着给智能体下发窗口路径,并只将窗口路径放进保留表中。因此只需要保持不同智能体的路径窗口之间无冲突。当智能体跑到窗口一半时,继续规划路径并滑动窗口。
并且,智能体到达终点后继续进行窗口搜索。智能体的目标不再是到达终点,而是完成窗口。
引入窗口的另一个好处是搜索时间被分散到每个智能体身上。
个人认为层次化搜索的引入是为了解决那些无法快速得到搜索点到终点的距离的场景,这些场景下必须进行BFS搜索才能得到每个点到终点的距离,这会大大增加A*中获取启发值的成本,因此必须对原始空间进行抽象,减少搜索的状态来加速获取到终点的距离。
路径窗口的引入可以避免单智能体每次规划路径时考虑整条路径上的冲突,实际上环境是变化的,其他智能体的路径和预测状态也是变化的,提前考虑所有信息可能导致路径规划很慢,窗口路径会节省考虑很多可能不会发生的冲突的时间。并且引入窗口让智能体边走边规划,将规划时间分散到执行的时间上,也可以加速规划。
[1] Silver D .Cooperative Pathfinding[C]//Proceedings of the First Artificial Intelligence and Interactive Digital Entertainment Conference, June 1-5, 2005, Marina del Rey, California, USA.2005.
[2] Holte R C, Perez M B, Zimmer R M, et al. Hierarchical A*: Searching abstraction hierarchies efficiently[C]//AAAI/IAAI, Vol. 1. 1996: 530-535.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。