A* 和曼哈顿距离成本

A* and Manhattan distance cost

你好,这个学期我们开始了一门人工智能课程,我们有一个项目,计算在 NxN 板上达到目标的最佳路线。该板还可以随机包含我们无法通过的障碍物,而且我们只能垂直和水平移动。每次垂直移动的成本为 1.0,水平移动的成本为 0.5。我们被要求使用曼哈顿启发式方法用A*算法计算它。

我的问题是:当我们计算曼哈顿距离时(我知道你必须添加水平和垂直 "squares" 直到你达到目标)我们是否必须将成本添加到每个 "square"(0.5 或 1.0)?。或者曼哈顿距离只计算您需要达到目标的 "squares"?

您需要使用问题的距离,即在您的情况下为 1 和 0.5。

当使用A*时,从起点到当前节点的距离将是1s和0.5s的总和,沿着到该点的真实路径,到终点的估计剩余距离将是1s的总和和 0.5s 沿 'perfect path',即没有障碍物。

我希望这能回答你的问题。

您应该将成本添加到每个方块中,因为曼哈顿不会简单地计算方块数量,因为它会计算最简单的成本,这与在相同权重的垂直和水平移动的情况下计算方块数量相同。