Search 无指定深度限制的迭代深化

Search 无指定深度限制的迭代深化,search,data-structures,tree,artificial-intelligence,iterative-deepening,Search,Data Structures,Tree,Artificial Intelligence,Iterative Deepening,我有一个关于搜索技术的问题。我的问题是,正常的深度优先搜索和没有指定深度限制的迭代深化之间有什么区别?因此,我有一个带有目标节点的树,但在迭代深化搜索中没有指定的限制。这会像我要进行常规的深度优先搜索一样输出相同的遍历序列吗?假设目标的深度级别为3(根位于深度=0),并且它不完全位于树的“左侧”(深度优先搜索(DFS)会立即找到它) 一个普通的DFS可能会花费大量时间在4、5、6等深度级别进行搜索,然后再“向上”树,“向右”移动,最后在深度3找到目标。通过迭代深化,如果在depth=3处有一个目

我有一个关于搜索技术的问题。我的问题是,正常的深度优先搜索和没有指定深度限制的迭代深化之间有什么区别?因此,我有一个带有目标节点的树,但在迭代深化搜索中没有指定的限制。这会像我要进行常规的深度优先搜索一样输出相同的遍历序列吗?

假设目标的深度级别为3(根位于深度=0),并且它不完全位于树的“左侧”(深度优先搜索(DFS)会立即找到它)

一个普通的DFS可能会花费大量时间在4、5、6等深度级别进行搜索,然后再“向上”树,“向右”移动,最后在深度3找到目标。通过迭代深化,如果在depth=3处有一个目标,您将永远不会浪费时间查看depth=4处的节点。这是因为迭代深化首先执行深度限制为1的DFS,然后执行深度限制为2的DFS,最后执行深度限制为3的DFS(这将找到目标并因此终止搜索)

请注意,在这个示例中,广度优先搜索(BrFS)也不会在深度为4时浪费时间,而且可能会更快一些,因为没有重新执行以前已经完成的一些工作。但这需要更多的记忆

迭代深化的另一个优点是它不会陷入无限长的路径。现在在大多数实际情况下,一条无限长的路径无论如何都不太可能,但这绝对是可能的。DFS可能会被困在这样一条无限的道路上

最后,与DFS相比,迭代深化有一个优势,即当由于处理时间不足而终止它时,它可以提供更有用的结果。这在游戏的搜索算法中尤其重要(想想国际象棋引擎)。由于您明确指定在您的情况下有一个目标节点,因此我认为这与您无关,但如果您感兴趣,请告诉我,我也可以为这一优势撰写解释