3D迷宫中的最短路径

时间:2016-09-05 13:39:35

标签: recursion 3d shortest-path maze

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

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

请注意,我希望保持递归方法。

有人可以建议解决方案吗?

以下是2D迷宫示例:

s

一个从e开始到X是一个障碍,.col-md-6.col-md-offset-3 { margin-left: 250px; } 是路线。

1 个答案:

答案 0 :(得分:0)

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

总之,这个问题是一个数学优化问题。优化是一个具有成熟文献的领域,尽管它有点复杂。但是,如果我是你,我会搜索最短路径算法,并实现一个最适合我的应用程序(3D迷宫)