3D迷宫中的最短路径



我正在尝试编写一个程序,使用递归找到3D迷宫中的最短路径。

我能够写的代码,找到一个随机路径通过迷宫,但我想知道如何修改我的代码,以找到最短的路径。

请注意,我想保留递归方法。

有人能提出解决方案吗?

下面是一个2D迷宫示例:

s    
XXXX 
XX X
XXX  
Xe  X

1从seX为障碍物,为路径

这取决于你要实现的算法。如果你想要一个递归方法,那么寻找一个随机路径是一个很好的起点(尽管如果问题太复杂,那么一个糟糕的选择可能会对收敛所需的尝试次数产生巨大影响)。然后你需要修改路径,例如检查新路径是否比之前的路径短;如果是,那么你继续在相同的方向修改你的参数。否则你必须改变你的方向。算法/程序的退出准则通常是找到的解与理想解之间的差值。因此,如果你提前知道理想路径的长度(最优解,你不需要知道路径本身,只需要知道它的长度),那么你可以定义一个误差范围为10^-9,例如,一旦两个解决方案之间的差异小于这个边界,你的算法退出。

综上所述,该问题是一个数学优化问题。优化是一个有着完善文献的领域,尽管它有点复杂。然而,如果我是你,我会寻找最短路径算法,并实现一个最适合我的应用程序(3D迷宫)

最新更新