国际象棋计算机的工作方式

经过:马歇尔大脑

如果您曾经看过一个人首先学习下棋,那么您就会知道,人类国际象棋棋手的能力非常有限。一旦玩家了解控制每件作品的基本规则,他或她就可以“下棋”。但是,新玩家不是很好。每个早期的失败都令人惊讶 - “哦,我没有考虑!”或“我没看到那个来了!”是普遍的感叹。

人类的思想吸收了这些经验,存储了不同的董事会配置,发现了某些技巧和策略,并且通常会吸收一次游戏的细微差别。随着技能水平的发展,玩家经常会阅读书籍,以发现最佳玩家使用的游戏模式。策略和策略发展以指导玩家完成每个游戏。

广告

因此,对于人类而言,国际象棋游戏涉及很多高级抽象思想- 视觉模式匹配,以召回董事会的立场,规则和准则,有意识的思想甚至心理学。

计算机没有做到这一点。

国际象棋似乎是一项明显的人类活动,需要智力和思想,那么计算机怎么可能这样做呢?

在本文中,我们将研究这个问题。您会发现的是,计算机并没有像人们那样真正“下棋”。下棋的计算机不是“思考”。相反,它正在通过一组公式进行计算,从而导致其做出良好的动作。随着计算机变得越来越快,这些计算的动作的质量变得越来越好。现在,计算机国际象棋计算器是地球上最好的国际象棋球员,即使他们完全盲目地做到了。

广告

计算机和国际象棋

计算机国际象棋中最新的目前非常复杂,但所有这些都涉及盲目计算,这在核心方面非常简单。

假设您是从为游戏开始的国际象棋板开始的。每个玩家都有16件。假设白色开始。怀特有20可能的动作

广告

  • 白人玩家可以将任何典当向前移动一两个位置。
  • 白人玩家可以通过两种不同的方式移动骑士。

白人玩家选择了这20个动作之一并做到这一点。

对于黑人播放器,选项是相同的:20个可能的动作。所以黑色选择了一个举动。

现在白色可以再次移动。下一步的举动取决于怀特选择做出的第一步,但是鉴于当前的董事会位置,白色大约有20个左右的动作,然后黑色具有20个左右的动作,可以做出,依此类推。

这就是计算机看国际象棋的方式。它在一个“所有可能的举动”的世界中思考它,这使得很大对于所有这些举动,都这样:

在这棵树中,白色有20种可能的动作。黑色有20 * 20 = 400个可能的动作,具体取决于白色的作用。然后有400 * 20 = 8,000的白色。然后有8,000 * 20 = 160,000黑色,依此类推。If you were to fully develop the entire tree for all possible chess moves, the total number of board positions is about 1,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,000,000,000,000,000,000,000,000,000,000,

000,000,000,000,或10120,给或服用一些。那是一个很大的数字。例如,只有10个26纳秒以来大爆炸。人们认为只有1075原子在整个宇宙中。当您认为银河系包含数十亿个太阳,并且有数十亿个星系时,您会发现这是很多原子。该数字与可能的国际象棋移动数相形见war。国际象棋是一个非常复杂的游戏!

没有计算机会计算整棵树。国际象棋计算机试图做的是生成板位置树五或10或20的未来。假设任何董事会位置都有大约20个可能的动作,则一棵五级树包含3,200,000个董事会职位。一棵10级树包含约10,000,000,000,000(10万亿)头寸。计算机可以计算的树的深度由计算机播放游戏的速度控制。最快的国际象棋计算机每秒可以生成和评估数百万董事会位置。

一旦生成树,计算机就需要“评估董事会位置”。也就是说,计算机必须查看板上的碎片,并决定零件的布置是“好”还是“坏”。这样做的方式是使用评估功能。最简单的功能可能只计算每侧的零件数。如果计算机正在播放白色,并且某个板位置有11个白色件和9件黑色件,则最简单的评估功能可能是:

11-9 = 2

显然,对于国际象棋,公式是方法太简单了,因为有些作品比其他作品更有价值。因此,该公式可能会对每种类型的作品施加重量。正如程序员对此的想法,他或她通过添加诸如董事会位置,控制中心的控制,国王检查,对手女王的脆弱性以及大量其他参数之类的东西,使评估功能变得越来越复杂。但是,无论功能变得多么复杂,都将其凝结到代表该董事会位置的“好处”的单个数字。

广告

三级树图

以下图显示了一棵三级树,看起来三个移动前进,并评估了最终董事会位置的价值:

计算机正在作为白人玩家。黑人玩家已经移动并留在树顶的董事会位置。在这棵树中,白色可以做出三个可能的动作。从这三个可能的举动中,黑色可以做出三个可能的动作。从这些九个董事会职位中的每个职位中,白色可以做出两个可能的动作。(在现实生活中,从任何位置的移动总数为20左右,但很难绘制。)

广告

为了决定该怎么做,计算机看着这棵树,并从底部向上工作。它的计算得以建立,以便从黑色将采取的每个可能位置找到最佳的董事会位置(最大值):

一个级别,它假设黑色会选择白色最糟糕的位置(最低限度):

最后,它最大值的前三个数字是:7。那就是计算机将进行的移动。一旦黑色移动,计算机就会再次完成整个过程,生成一棵新树并评估所有董事会位置以找出其下一步行动。

这种方法称为minimax算法因为当它向上移动时,它在最大值和最小值之间交替。通过应用一种称为的技术alpha beta修剪, 这算法可以迅速运行两倍,需要少得多记忆。如您所见,此过程是完全机械的,没有思考。这只是一个蛮力计算,它将评估函数应用于一定深度树中所有可能的板位置。

有趣的是,这种技术效果很好。在快速的计算机上,该算法看起来足够远,可以玩非常好的游戏。如果您添加了基于过去游戏修改评估功能的学习技术,那么机器甚至可以随着时间的推移而改善。

但是,要记住的关键是,这与人类的思想无关。当我们了解人类思维如何运作并创建一台使用这些技术下棋的计算机时,我们将真正成为一件事情...

有关国际象棋计算机和相关主题的更多信息,请查看下一页上的链接。

广告

更多信息

相关的方式如何进行文章兴发首页x

更多的链接

特色

广告

加载...