【问题标题】:How to find the shortest path in a maze with checkpoints? [duplicate]如何在带有检查点的迷宫中找到最短路径? [复制]
【发布时间】:2014-09-25 03:35:08
【问题描述】:

我正在研究一个最短迷宫问题,有一个起点、一个终点和一些检查点,旅行者必须至少通过一次。 '#' 表示墙,'.'表示道路,“P”表示检查站。

我正在考虑从终点找到最近的检查点,并从当前检查点继续寻找那些未访问的检查点,直到所有检查点都被访问。最后寻找到起点的最短路径。

但它看起来并不好,我的意思是,它看起来只是一个贪心算法,不能确保你得到最好的解决方案。在判断去哪个检查点时应该使用背包算法吗?

【问题讨论】:

  • 这个问题好像在本站被问过很多次了,请看this、this等很多...

标签: algorithm shortest-path maze


【解决方案1】:

不确定它是否是最有效的,但以下应该可行:

  1. 使用Dijkstra (ie breadth-first) path finding algorithm 计算每对检查点之间的距离。
  2. 现在问题已简化为具有给定起点和终点的Travelling Salesman problem。

对于多达 11 或 12 个检查点,这可以使用 GPU 相当快地解决,如 Open Source tutorial 中所示(您的真实情况)。

【讨论】:

    猜你喜欢
    • 2012-04-08
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多