A *算法是否适合于由多个相邻单元组成的起始和结束位置

时间:2017-11-10 16:45:37

标签: path-finding

可以将A *算法有效地应用于NxM矩形网格,其中移动到任何单元格时涉及不同的旅行成本,并且起始位置不是单个单元格而是由多个闭合单元组成;说一个相邻单元的集群,其中一个单元的邻居是它周围的八个单元中的任何一个? (结束单元格与此类似。) 如果是这样,那么任何人都可以表明方式,如果不是,那么什么是解决这个问题的好方法呢?

1 个答案:

答案 0 :(得分:0)

  

A *算法能否有效地应用于具有不同旅行成本的NxM矩形网格[...]

是的,只要边缘成本为正,A *就适用于任何类型的图形。不是将图形作为具有常规邻居的网格进行短语,而是将其构造为使得连接的网格单元之间具有边缘。

边缘成本也可以是任意的,只要它们是非负的(正或零)。

确保您的启发式设置仍然可以接受。

  

并且起始位置不是单个单元格,而是由多个闭合单元格组成;

是的,这应该是可能的。

  • 确定每个单元的初始成本。零成本对所有人来说都是最简单的。
  • 不是仅将单个起始顶点添加到优先级队列中,而是将所有多个单元格添加到优先级队列中。
  

说一个相邻小区的群集,其中一个小区的邻居是它周围的八个小区中的任何一个? (结束单元格与此类似。)

目标也可以由多个单元组成。

  • 只需使其到达任何目标单元格即可终止搜索。
  • 确保将启发式计算为每个目标单元格的个体启发式的最小值。 (即,为每个目标单元计算启发式,然后取最小值。)