串行启发式搜索中的基本问题总是:下一步要做什么?在树搜索中该问题又分为两个方面:(1)下一步搜索从树的哪个节点开始,(2)从该节点起应取什么方向?有助于回答第一个问题的信息,可以解释为对不同节点与目标的相对距离的测定。佳者优先搜索要求从那个看来离目标最近的节点开始下一步搜索。获得有助于回答第二个问题的信息,即在什么方向上进行搜索,其方法正如代数例子所表明的那样,常常是测出当前节点结构与由对解的检验所描述的目标结构之间的特定差异,并选择那些对减少这些特殊类型差异有重要作用的行动。这就是称为手段目的分析的技术,它在一般问题求解程序的结构中起着主导作用。
经验研究作为AI研究中的一般思想源泉的重要性,可以通过回顾佳者优先搜索和手段目的分析这两个主导思想的历史,在大量问题求解程序中清楚地得到证明。佳者优先搜索的雏形在1955年的逻辑理论家程序中已经出现,虽然当时没有叫这个名字。体现了手段目的分析的一般问题求解程序,约在1957年出现,但是它是与改进的深度优先搜索相结合的,而不是与佳者优先搜索相结合。出于节约内存的目的,国际象棋程序一般是与深度优先搜索联姻的,大约在1958年之后,增补了强有力的α-β修剪过程。这些技术中的每一项都数度东山再起,直到60年代中后期,一直很难看到根据这些概念对问题求解所作的一般性的、与任务分离的理论探讨。它们从数学理论中得到的形式依据,总计起来为数也不多:一些关于搜索还原的定理,这些定理可从使用α-β启发法中获得;两个关于最短路径搜索的定理(尼尔森曾提到过,Nilsson1971);以及最近才出现的一些带有概率论评价功能的佳者优先搜索定理。
“弱”方法与“强”方法我们一直在讨论的这些技术都是用于控制指数扩张的,而不是阻止指数扩张。因此,把它们称做“弱”方法是恰如其分的——在问题空间实际含有的符号系统知识或结构数量不足以保证完全避免搜索时所使用的方法。对比一下高结构化情境与低结构化情境的不同是有益的,前者可以用公式表达为比如线性规划问题,后者则是像旅行售货员问题或时间调度问题那样的组合问题。(这里“低结构化”是指与问题空间结构相关的理论是不充分的或不存在的。)
5 作为经验探索的计算机科学:符号和搜索
135