【发布时间】:2013-01-03 21:34:56
【问题描述】:
假设您有一个 2D 单元格网格,其中一些被墙填充。角色可以从一个方格跨步到任何水平或垂直的方格,但不能跨墙。
给定一个起始位置和一个结束位置,我们可以使用 A* 算法和一个可接受的启发式算法找到从起始位置到结束位置的最短路径。在当前的设置中,曼哈顿距离是可以接受的,因为它永远不会高估到目的地的距离。
现在假设除了墙之外,这个世界还有成对的传送器。踏上传送器会立即将角色传送到链接的传送器。传送器的存在打破了上面给出的可接受的启发式方法,因为通过使用传送器缩短距离,可能比采取最佳曼哈顿距离步行更快地到达目的地。例如,考虑这个线性世界,传送器标记为 T,起始位置标记为 S,结束位置标记为 E:
T . S . . . . . . . . . . . . . E . T
这里,最好的路线是走到左边的传送点,然后向左走两步。
我的问题是:在带有传送器的网格世界中,什么是 A* 的良好可接受启发式?
谢谢!
【问题讨论】:
-
到最近的传送器的距离似乎是一个显而易见的选择。
-
@VaughnCato 结尾可能会更近,但这很容易通过额外的分钟来解决
-
@templatetypedef 那是一些在线编程竞赛/自动解决方案评审系统的一部分吗?如果是这样,您能给我们一个链接,以便我们加入:) 吗?
-
@us2012- 不,这只是我在玩 Lode Runner 后的一个月里一直在思考的问题。 :-)
标签: algorithm artificial-intelligence path-finding a-star heuristics