计算曼哈顿距离时,应该计算到终点还是起点的距离?

问题描述 投票:0回答:1

我正在尝试学习 A* 算法(当应用于网格图案时),并且我认为我已经掌握了在找到最短路径之前,您需要计算任何给定正方形距起点的距离。

我正在遵循此处的指南:https://medium.com/@nicholas.w.swift/easy-a-star-pathfinding-7e6689c7f7b2,其中下图显示了网格上每个方块的曼哈顿距离:

Text

起始方块是绿色方块,结束方块是蓝色。

但是,倒数计算距离肯定更有意义吗? A* 选择到目标距离最短的相连方格,对吧?因此,如果我们从末尾开始并询问与开头相关的最低值是多少,这(基于图像)肯定是有意义的,在本例中是 17,所以去那里,然后是 15,所以去那里等等。

子问题:图像中距起点的距离似乎是基于穿过冯·诺依曼邻居,所以在返回的路上你肯定不能走对角线吗?

a-star
1个回答
3
投票

F = G + H
F 是节点的总成本。
G是当前节点到起始节点的距离。
H 是启发式的——从当前节点到结束节点的估计距离。

网格中的数字代表G(而不是启发式)。 G是距起点的实际距离。
H应该计算到终点。

© www.soinside.com 2019 - 2024. All rights reserved.