Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 目标未知时的搜索算法_Algorithm_Machine Learning_Search_Graph_Artificial Intelligence - Fatal编程技术网

Algorithm 目标未知时的搜索算法

Algorithm 目标未知时的搜索算法,algorithm,machine-learning,search,graph,artificial-intelligence,Algorithm,Machine Learning,Search,Graph,Artificial Intelligence,我正在制造一艘水下潜艇,它必须在水池中搜索未知位置的目标。在这种情况下,是否有任何算法可以特别使用。我读过一篇关于a*的文章,但这似乎只在确定最短路径时有用,因为起始位置和目标位置是已知的。DFS似乎也适用于相同的场景 有没有办法在不穿过整个水池的情况下做到这一点?想象一下,你的潜艇穿过的水体是一个带有单元格的图形 你的搜索算法有什么启发法吗(一种衡量你离目标有多近的近似方法) 例如,目标可能更可能位于更深的水域,或者您可能会在摄影机上看到目标 如果你有一些启发,你可以做一个Dijkstra算法

我正在制造一艘水下潜艇,它必须在水池中搜索未知位置的目标。在这种情况下,是否有任何算法可以特别使用。我读过一篇关于a*的文章,但这似乎只在确定最短路径时有用,因为起始位置和目标位置是已知的。DFS似乎也适用于相同的场景


有没有办法在不穿过整个水池的情况下做到这一点?

想象一下,你的潜艇穿过的水体是一个带有单元格的图形

你的搜索算法有什么启发法吗(一种衡量你离目标有多近的近似方法)

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

如果你有一些启发,你可以做一个Dijkstra算法,就像加权图的广度优先搜索(BFS)。然后,从起点开始按成本的递增顺序探索节点。若你们还并没有探索,那个么你们的首要任务是从源头上获取成本,以及大致的探索成本

除此之外,除了BFS、DFS之外,我真的看不到一种方法,比如按一定顺序探索每个单元格,直到找到目标为止


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

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

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

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

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