【问题标题】:Search algorithm when target is unknown目标未知时的搜索算法
【发布时间】:2019-11-22 20:19:02
【问题描述】:

我正在创建一艘水下潜艇,它必须在水池中搜索未知位置的目标。是否有任何算法可以专门用于这种情况。我读了一篇关于 A* 的文章,但这似乎只在起始位置和目标位置已知时识别最短路径有用。 DFS 似乎也适用于相同的场景。

有什么方法可以在不遍历整个池的情况下做到这一点?

【问题讨论】:

  • 如果您想要一个有用的答案,您将需要编辑问题以更清楚地说明问题。
  • Idk 我可以清楚多少,是否有任何算法可用于在目标位置未知时找到目标。因为我认为您仍然需要遍历整个区域才能找到它们
  • 嗯,首先,您可以清楚您的算法应该具有哪些输入和输出,以及它们如何表示为数据。潜艇是整数、字符串还是对象?池是列表、二维网格、字典还是树?包含一些具有预期输出的示例数据怎么样?
  • 它实际上是一艘真正的潜艇和一个真正的游泳池。我认为一旦潜艇开始遍历池,池将被表示为带有节点的树。而是从更高的层面看待问题。
  • 一个真正的潜艇和一个真正的游泳池?这不是一个算法问题,那么 - 使用声纳。 en.wikipedia.org/wiki/Sonar

标签: algorithm machine-learning search graph artificial-intelligence


【解决方案1】:

想象你的潜艇穿越的水体是一个包含细胞的图形。

您的搜索算法是否有任何启发式方法(大致衡量您与目标的接近程度)?

例如,目标更有可能位于更深的水域,或者您可能会在相机上看到目标。

如果您有一些启发式方法,您可以使用 Dijkstra 算法,它类似于加权图的广度优先搜索 (BFS)。然后,您从起点按成本递增的顺序探索节点。如果您还没有探索过,您的优先级将是源头成本,以及探索的大致成本。

除此之外,除了 BFS、DFS 之外,我并没有真正(在给出的信息很少的情况下)看到其他方法,例如按某种顺序探索每个单元格,直到找到目标。

当然,所有这些都取决于您从潜艇获得的输入。也许您的潜艇可以看到或感知(温度变化、声音、无线电信号、谁知道等等)目标!

【讨论】:

    【解决方案2】:

    我的回答是假设你说的是一艘真正的潜艇。

    由于您似乎没有关于位置的任何信息,因此您唯一能做的就是彻底搜索池。然而,棘手的部分是如何彻底搜索。

    问题是你需要一张泳池地图并定位你的潜艇。 即使使用最好的传感器,完美的定位也很可能是不可能的。您需要的算法是 SLAM(同时定位和映射)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2016-05-08
      • 2015-09-26
      • 1970-01-01
      相关资源
      最近更新 更多