你好,本学期我们开始了一门人工智能课程,我们有一个项目,需要计算在NxN棋盘上到达目标的最佳路线。这块棋盘上可能会随机出现我们无法通过的障碍物,我们只能垂直和水平移动。每次垂直移动的成本是1.0,水平移动的成本是0.5。我们被要求使用A*算法和曼哈顿启发式方法来计算这个路径。
我的问题是:当我们计算曼哈顿距离时(我知道你需要将水平和垂直的“方格”相加直到到达目标),我们是否需要为每个“方格”加上成本(0.5或1.0)?还是曼哈顿距离只是计算到达目标所需的“方格”数量?
回答:
你需要使用你问题中的距离,即在你的例子中是1和0.5。
在使用A*时,从起点到当前节点的距离将是沿实际路径到该点的1和0.5的总和,估计到终点的剩余距离将是沿“完美路径”(即没有障碍物)的1和0.5的总和。
希望这回答了你的问题。