【问题标题】:Algorithm for finding an entity in a maze without prior knowledge在没有先验知识的情况下在迷宫中寻找实体的算法
【发布时间】:2018-12-09 19:50:09
【问题描述】:

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

像 A* 这样的算法需要先验知识并在环顾四周时“跳跃”,但例如,当我有一个机器人时,这是不可能的。

我的第一个想法是最初使用 BFS 探索整个迷宫,然后在探索过的迷宫中应用 A* 以找到考虑权重的最短路径。但这似乎很幼稚。

谁能给我指出一些非常适合这个问题的算法?

【问题讨论】:

标签: algorithm breadth-first-search a-star maze


【解决方案1】:

我认为这类问题最适用的算法是Dijkstra's algorithm.

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

保存一个包含每个节点的表

  • 从根开始的最短路径

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

    只要发现较短的路径,就会在表中更新到节点的最短路径。 当您的实体被访问时,它的最短路径将是从 root->entity 的最短路径,并且通过其父级回溯将产生实际的节点路径。 (如果您感到困惑,这里是另一个 video)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-03
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多