在没有先验知识的情况下在迷宫中寻找实体的算法



我有一个类似网格的加权迷宫,我需要在没有任何迷宫知识的情况下找到到达实体的最短路径。

像A*这样的算法期望获得先验知识,并在环顾四周时"跳跃",但这在我有机器人的情况下是不可能的。

我的第一个想法是首先使用BFS探索整个迷宫,然后在探索的迷宫上应用A*,以找到最短的迷宫,同时考虑重量。但这似乎很天真。

有人能给我指出一些适合这个问题的算法吗?

我认为这类问题最适用的算法是Dijkstra的算法。

简而言之,该算法从某个根节点开始,扫描所有邻居,并选择从根到访问路径最短的节点。

保存一个表,其中包含每个节点的

  • 从根的最短路径

  • 到达此节点的路径中的最后一个节点

    只要发现较短的路径,就会在表中更新到节点的最短路径。当您的实体被访问时,其最短路径将是从根开始的最短路径->实体,并且通过其父节点回溯将产生实际的节点路径。(如果你感到困惑,这是另一段视频(。

最新更新