Artificial intelligence 分层寻路实现

Artificial intelligence 分层寻路实现,artificial-intelligence,path-finding,hierarchical,Artificial Intelligence,Path Finding,Hierarchical,我想将我的地图划分为集群并实现HPA*。我从哪里开始,每次尝试都会遇到问题。我需要在随机和动态变化的地图上实现这一点 我不确定如何编写一个算法来放置这些“节点”,以连接地图各部分/簇之间的部分并更新它们。我猜每次打开的磁贴位于集群/部分边缘上的闭合磁贴之间时,都应该有一个节点,因为在集群内部,集群中的多个开口可能在此部分内彼此不连接 通常我会有一张大的平铺地图。我想我可以把这个放在一边,创建一个包含所有路径和节点的cluster/section类。并具有一个节点类/结构,该节点类/结构包含两个分

我想将我的地图划分为集群并实现HPA*。我从哪里开始,每次尝试都会遇到问题。我需要在随机和动态变化的地图上实现这一点

我不确定如何编写一个算法来放置这些“节点”,以连接地图各部分/簇之间的部分并更新它们。我猜每次打开的磁贴位于集群/部分边缘上的闭合磁贴之间时,都应该有一个节点,因为在集群内部,集群中的多个开口可能在此部分内彼此不连接

通常我会有一张大的平铺地图。我想我可以把这个放在一边,创建一个包含所有路径和节点的cluster/section类。并具有一个节点类/结构,该节点类/结构包含两个分区之间连接的平铺。我读过几篇关于HPA*的文章,但我就是不能在随机和动态的地图上正确地实现这一点。我希望在这里能得到一些好的建议,尽管问题不是很清楚

-编辑-
我试图做的是使集群类包含10x10个分片/节点,每侧都有一个入口点(如果边缘有障碍物,则有几个入口点)。条目链接到下一个集群。

您能更清楚地说明您尝试了什么,以及遇到了什么问题吗?您应该已经有了一个没有HPA*的节点图-HPA*只需要将这些节点分组,这样您就可以在这些集合上而不是单个节点上进行搜索(大大减少了搜索空间,但导致其不是最优的)。另请参见,或。我的问题是,单个集合如何知道它们是链接在一起的。有这样的情况,你需要去一个邻居的设置,但需要一个大的绕道。或者我完全错了,因为算法不能扩展那么远,所以这些方法的性能更好吗?您只需预先计算集合中每个入口(/出口)节点之间的距离,即可获得HPA*图中的边长度。这可能会导致次优迂回-这就是为什么该算法是非最优的。因此,我应该将属性条目添加到我的节点中,并将其标记为入口点。现在我需要一个算法,将所有这些入口节点放入一个随机映射中。