启发式搜索假说的提出,除了是因为纽厄尔和司马贺这些心智派学者一贯以参考人类智能行为作为研究导向外,还有一个很重要的原因是他们看见了逻辑派在推理效率上遇到了极大的困难(逻辑派的核心学说提出的时间要比心智派的早很多,如麦卡锡的《常识编程》是 1959 年发表的,而纽厄尔和司马贺关于物理符号系统假说的论文是在 1970 年发表的),即使有了归结原理<sup>○</sup>这种普适的利器,并且人们不断改进算法来提升搜索效率,基于逻辑推理的程序也无法避免中间子句指数级的爆炸式增长,遇到稍微复杂一点的应用,逻辑派的程序就陷入“理论可行,实际不行”的窘境,毫无实用性可言。
结合物理符号系统,启发式搜索的具体执行过程可以总结为:首先将物理符号随机地初始组合成表达式,这个表达式的每一种变换形式构成了搜索树的各个分支,然后给定一个评价函数用于评价这个表达式的不同变换形式与目标形式的差距,选择一个差距最小的变换形式重复搜索过程,直至差距无法缩小为止。在这个过程中,对搜索结果产生决定性影响的是评估函数的设计方法,由于纽厄尔和司马贺没有给出人类智能行为的通用的评估函数,也没有给出专用于某种特定智能行为的评估函数的设计方法或原则,所以启发式搜索在人工智能领域还只能以假说的形式来讨论。但在人工智能领域之外,启发式搜索现在已成为解决许多问题,尤其是“NP 完全问题”(即无法在多项式时间内得出最优解的问题)的有效手段,如第 2 章中笔者使用遗传算法模拟蒙娜丽莎画像的例子,就是启发式搜索算法中的一种,类似的启发式算法还有“ A\* 算法”和“AO\* 算法”等,这些算法在人工智能和计算机科学中都有很广阔的应用场景。
第 3 章 符号主义学派
85
○一 归结(Resolution)是一种对于命题逻辑和谓词逻辑中的句子的推理规则。归结原理(Resolution Reasoning)是鲁宾逊(Robinson)于 1965 年提出的一种简单易行,尤其便于计算机实现和执行的反证法证明技术,也叫作“消解原理”。