如果A *算法探索多条路径,您如何选择最佳路径?

时间:2016-07-14 17:51:58

标签: c# algorithm performance path-finding

我一直在研究A *寻路算法的C#实现,现在我已经设法让它找到从起点到目的地的路径,我想知道如何选择最佳路径。

为了澄清,如果我让程序找到一条从黄色边框的方块到带绿色边框的方格(不能穿过深灰色方块)的路线,程序会将所有红色方块添加到其& #39;关闭'阵列。

enter image description here

如您所见,这不是一条直接路线。我如何从封闭数组获得实际路径?顺便说一句,我已禁用对角线移动。

1 个答案:

答案 0 :(得分:4)

自从我做了A *之后已经有一段时间了,但是如果我没记错的话,你可以向后追踪,从最后开始并沿着最小距离的路径追踪。

因此,如果此网格上的数字表示到黄色方块的距离,则可以通过从绿色方块(距离12)开始找到最短路径,并且连续移动到距离最小的邻居,直到到达黄色方块。

所以你要去12 - > 11 - > 10 - > 9 ... - > 0