【发布时间】:2020-05-31 19:03:36
【问题描述】:
我目前正在从事一个涉及谜题和各种寻路算法的项目。拼图使用二维数组表示,并具有特定的形状因子。二维数组中的每个单元格都有一个跳跃值,即您可以从单元格向上、向下、向左或向右移动的空格数。
我目前正在对这个谜题实施 A* 搜索。我正在考虑使用曼哈顿距离作为这个问题的可接受启发式,但我认为传统的曼哈顿距离不会起作用,因为移动仅限于特定数量的移动。
例如:
2 2 2 1 1
1 1 1 2 2
3 1 2 1 1
3 1 2 1 1
2 1 1 1 0
是一个可能的网格。您从左上角单元格中的2 开始,并试图到达右下角单元格中的0。从起始单元格中,您可以向右移动两个或向下 2 到具有不同跳转值的新空间。如果谜题可解,则此过程重复直到达到目标。
如何修改曼哈顿距离abs(x1-x2) + abs(y1-y2) 以包含移动特定数量的空格?
【问题讨论】:
标签: algorithm artificial-intelligence path-finding a-star