统计方法在国际象棋中的应用?

阅读关于谷歌如何解决翻译问题的内容让我开始思考。是否有可能通过分析数百万场比赛,并主要(甚至完全?)基于统计数据来确定最佳移动,从而构建一个强大的国际象棋引擎?有几个这样的国际象棋数据库(这个数据库包含450万场比赛),人们可以根据涉及的棋手等级、比赛的年代(考虑到国际象棋理论的改进)等因素,对相同(或镜像或反射)的位置进行加权移动。有哪些理由表明这种方法可行来构建一个国际象棋引擎?


回答:

类似的事情已经在做了:这是开局书的基本概念。

由于游戏的性质,计算机AI在游戏开始时表现得非常糟糕,因为那时有太多的可能性,而且最终目标还很遥远。到了中局,当战术可能性开始形成时,AI的表现开始改善,而在残局阶段,AI可以完美地进行比赛,远远超过大多数人类的能力。

为了帮助AI在开局时做出好的移动,许多引擎依赖于开局书:这基本上是一个基于统计数据得出的移动流程图。分析了许多高水平棋手之间的比赛,并将推荐的移动硬编码进“书”中,当位置还在“书”中时,AI甚至不需要“思考”,只需按照“书”中说的做即可。

有些人也可以记住开局书(这也是为什么菲舍尔发明了他的随机国际象棋变体的一个原因,这样开局的记忆就变得远没有那么有效)。部分由于这个原因,有时在开局时会做出非常规的移动,不是因为根据历史统计这是最佳移动,而是恰恰相反:这是一个“未知”的位置,可以让你的对手(无论是人类还是计算机)“脱离书本”。

在光谱的另一端,有一种被称为残局数据库的东西,这基本上是一个之前分析过的残局位置的数据库。由于这些位置之前已经进行了详尽的搜索,人们可以使用它来实现完美的比赛:对于任何位置,人们可以立即决定它是赢、输还是平局,以及实现/避免结果的最佳方式是什么。

然而,在国际象棋中,像这样的方法只在开局和残局阶段是可行的。中局的复杂性正是让游戏变得有趣的原因。如果人们可以通过查表来下棋,那么游戏就不会像现在这样令人兴奋、有趣和深奥了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注