14.图搜索
不知情vs知情搜索
不知情搜索算法不提供任何关于目标位置的信息,因此盲目搜索。不同的非知情算法之间的唯一区别是它们展开节点的顺序。下面列出了几种不同类型的不知情算法:
---Breadth-first Search广度优先搜索
---Depth-first Search深度优先搜索
---Uniform Cost Search成本一致搜索
另一方面,知情搜索提供了与目标位置有关的信息。因此,这些搜索算法能够评估一些节点比其他节点更有希望。这使得他们的搜索更有效率。这节课要学习的知情算法是,
---A *搜索
上述搜索存在几种变体,并将简要讨论。
15.术语
用来描述算法的两个主要术语——完整性和最优性。
算法的时间复杂度评估算法生成路径所需的时间,通常与当前节点或维度的数量有关。它也可以指算法的质量(例如完整性)与计算时间之间的权衡。
算法的空间复杂度评估执行搜索需要多少内存。一些算法必须在整个运行期间在内存中保留大量的信息,而其他算法可以只保留很少的信息。
算法的通用性考虑的是该算法可以解决的问题类型——它是局限于非常特定的问题类型,还是该算法在广泛的问题中表现良好?
在学习每种搜索算法时,请记住这些概念!
16.Breadth-First Search广度优先搜索