阅读有关Google solves the translation problem是如何让我思考的。通过分析数百万场游戏并在很大程度上(完全)基于统计数据确定最佳 Action ,是否有可能构建强大的国际象棋引擎?这样的国际象棋数据库有几个(this是一个拥有450万游戏的数据库),并且其中一个可能使用诸如所涉及的玩家的等级,游戏的年龄(以改进国际象棋理论的因素)等。为什么这不是构建国际象棋引擎的可行方法?
最佳答案
这样的事情已经完成了:这是opening books的基本概念。
由于游戏的性质,计算机AI在一开始就臭名昭著,当存在许多可能性时,最终目标仍然遥遥领先。当战术可能性开始形成时,它开始向中间发展,并且可以在最终游戏中完美发挥,远远超过了大多数人的能力。
为了帮助AI在一开始就做出好的 Action ,许多引擎取而代之的是打开书本:基本上是从统计上得出的 Action 流程图。分析了高评价玩家之间的许多游戏,并将推荐硬编码到“书”中,而职位仍在“书”中,AI甚至没有“思考”,只需遵循“书”中的内容即可。 ”说。
某些人还可以记住开书(这主要是Fischer发明他的random chess变体的原因,因此记住开书的效率远不如此)。部分由于这个原因,有时一开始会采取非常规的举动,不是因为从统计上讲,这是历史上最好的举动,而是恰恰相反:它不是一个“已知”的位置,并且可以让对手(人类或计算机)“出书”。
在频谱的另一端,有一个叫做endgame tablebase的东西,它基本上是一个以前分析过的残局位置的数据库。既然以前已经详尽搜索过这些位置,则可以使用它来实现完美的发挥:给定任何位置,就可以立即决定是赢,输还是平手,以及实现/避免结果的最佳方法是什么。
但是,在国际象棋中,这样的事情仅适用于开局和残局。中间游戏的复杂性使游戏变得有趣。如果只看一张 table 就能下象棋,那么这场比赛就不会像现在这样激动人心,有趣而深刻。