上QQ阅读APP看书,第一时间看更新
5.3 搜索是一种标准技术
在我们结束搜索这个话题之前,有必要指出它在AI和计算机科学中的重要性(搜索在生活中也无处不在——我们每天都在进行搜索)。搜索在概念上很简单,但可能非常强大。当你依稀记得你的笔记本电脑上有一个文档,你可以通过输入一个可能包含该文档的独特单词来找到它——只需一秒钟的时间,即可运行一个搜索,检查计算机上所有文档中的所有单词,并找到包含该搜索词的所有文档[4]。
AI已经在基本搜索理念上产生出了许多变种和进步。剪枝技术通过阻止检查一些分支来减少搜索树的大小。一种称为alpha-beta剪枝方法可以减少60%的树搜索(通过不跟踪那些可能比已经探索过的更糟的分支)。如果可以估计检查分支所花费的成本,那么这些成本可以纳入过程中,一种最短路径估计有助于提高效率——A*方法(俗称“A星”)可以做到这一点,并被广泛应用于计算和AI。
除了计划,搜索是推理和解决正式问题的基础。当诊断一个问题、解决一个难题或解决一组相互冲突的需求时,我们会进行推理。与计划类似,推理包括查看选项、权衡利弊,并决定哪条路是最佳选择。AI对推理的研究已经从纯粹的逻辑扩展到包括更多以人为中心的推理方式,比如模糊推理、定性推理和类比推理。
正式问题是那些有严格规则和目标的问题。自动定理证明是计算机科学中解决问题的经典例子。它包括找到一系列的步骤,这些步骤逻辑上是从一组给定的语句(全部假设为真)到另一组语句(结论或定理)之中引导而来的。这是一个相当理论化的领域,但它构成了计算机科学和计算理论的基础部分[5]。它也产生了有价值的应用,例如证明程序正确性的验证技术。在软件可靠性至关重要的重大安全情况下,这一点非常重要。有关搜索(以及所有主流的AI技术)的介绍,Russell和Norvig(2010)是很好的资源。