1.0 简介 计算机程序几乎在各个游戏层面上都在挑战人类的表现:世界西洋双陆棋冠军是一个神经网络程序 [7]。国际象棋程序(最初是人工智能搜索技术研究的雏形)的性能处于大师级别:1994 年,世界上等级分最高的国际象棋选手卡斯帕罗夫在一场计时锦标赛中被计算机国际象棋程序击败,不过他还没有输过一场不计时比赛。然而,这些顶级程序早已不再能启发或教导人工智能和认知科学研究人员如何将人类认知的灵活性和技巧融入计算机程序。数十年的国际象棋研究中得出的一个常见误解是,一旦问题得到正式指定,利用良好的搜索和评估算法的蛮力技术就足以解决任何问题。围棋领域与这种常见误解相矛盾。正式指定围棋规则很容易,然而,所有当前程序的表现都比不上人类,甚至连初级中级玩家的水平都比不上。最初,我们认为国际象棋和围棋之间程序性能的差异与相对分支因子有关,因此也与国际象棋和围棋的相对复杂性有关。虽然围棋的分支因子确实要大得多,这对编程有相当大的影响(如表 1 所示),但我们逐渐意识到,这两种游戏中战略和战术之间的差异更为重要。在国际象棋中,棋盘位置的良好评估函数通常仅通过战术手段就可以估计出来——也就是说,搜索可能的走法树,直到发现位置强度的重大变化。在围棋中,战术考虑涉及争夺特定的棋子组(定义见第 2.1 节),而战略考虑涉及构建棋子组,这些棋子组将在后期对游戏产生巨大影响。人类棋手要想在国际象棋和围棋中表现出色,就必须精通战略和战术。在国际象棋程序中,战术技能与长远搜索技术相结合足以产生出色的表现。这些技术在围棋程序中失败了,原因我们将在下文中讨论。