塞缪尔的程序玩跳棋的水准相当高,从许多方面来看都是一个令人惊叹的成就。尤其是考虑到当年所使用的计算机配置——塞缪尔使用的是IBM701计算机,只能处理相当于几页文本长度的程序代码——那就更了不得了。现代的台式计算机内存是当年的数百万倍,运行速度也是数百万倍。在当年计算机条件如此有限的情况下,跳棋程序能够达到这样的水准,简直是超乎想象。
大部分早期的启发式搜索算法,包括塞缪尔的程序,都使用了某种特别的启发方式——“尝试—实践—判断”。20世纪60年代末,美国SRI人工智能研究中心的尼尔斯·尼尔森(Nils Nilsson)和他的同事取得了突破,他们开发出名为A*的技术,作为我们之前讨论过的SHAKEY项目的一部分。A*定义了一些简单的规则,让我们可以确定哪些启发是“有益的”。在A*之前,启发式搜索不过是一个猜谜游戏;而在A*之后,它是一个数学上很容易理解的过程[27]。A*现在被视为计算机科学中的基础算法之一,并且在实践中得到了广泛的应用。其实,我们在生活中经常会遇见使用A*算法的程序,比如车载卫星导航系统等。尽管A*很惊艳,但它仍然依赖于使用特定的启发式搜索:好的启发能很快地找到解决方案,而差的启发就没什么价值。对如何为特定问题找到更优秀的启发,A*本身并没有给出答案。