搜索算法的深入解析与应用
1. 双向搜索与无信息搜索算法比较
双向搜索在路径搜索中有着独特的优势。当评估函数为路径成本时,双向一致代价搜索会有显著的加速效果。若最优路径成本为 $C^ $,那么成本大于 $\frac{C^ }{2}$ 的节点将不会被扩展。
一般的最佳优先双向搜索算法需要传入问题的两个版本和评估函数,分别用于正向和反向搜索。当评估函数是路径成本时,首次找到的解即为最优解,但使用不同的评估函数时,情况并非如此,因此需要跟踪目前找到的最佳解,并可能多次更新,直到终止测试证明没有更好的解。
无信息搜索算法有多种,如广度优先搜索、一致代价搜索、深度优先搜索、深度受限搜索、迭代加深搜索和双向搜索等。以下是它们在四个评估标准下的比较:
| 标准 | 广度优先 | 一致代价 | 深度优先 | 深度受限 | 迭代加深 | 双向搜索(适用时) |
| — | — | — | — | — | — | — |
| 完备性 | 是¹ | 是¹,² | 否 | 否 | 是¹ | 是¹,⁴ |
| 最优成本 | 是³ | 是 | 否 | 否 | 是³ | 是³,⁴ |
| 时间复杂度 | $O(b^d)$ | $O(b^{1 + \lfloor C^ /\epsilon \rfloor})$ | $O(b^m)$ | $O(b^\ell)$ | $O(b^d)$ | $O(b^{d/2})$ |
| 空间复杂度 | $O(b^d)$ | $O(b^{1 + \lfloor C^ /\epsilon \rfloor})$ | $O(b^m)$ | $O(b^\ell)$ | $O(b^d)$
超级会员免费看
订阅专栏 解锁全文
1432

被折叠的 条评论
为什么被折叠?



