迭代深化深度优先搜索(Iterative Deepening DFS)

1. 核心思想

结合DFS的空间优势和BFS的时间/浅层解优势

2. 算法流程

  • 从深度限制1开始运行DFS,如果没有找到解...
  • 将深度限制增加到2继续运行DFS,如果没有找到解...
  • 将深度限制增加到3继续运行DFS,以此类推...

3. 效率分析

看似冗余的问题:
这种重复搜索看起来是否过于浪费?
  • 实际上并不会造成太大的浪费,因为大多数工作发生在最后搜索的最深层!

4. 复杂度分析示例

当分支因子b=10,深度d=5时:
可以看出,尽管IDS需要重复搜索,但其节点扩展总数与BFS相比并没有显著增加。这是因为在每个深度限制下,较深层的节点数量呈指数增长,使得最后一层的工作量占据了总工作量的主要部分。
Loading...