会有一个完美的国际象棋算法吗?


15

当前的国际象棋算法根据玩家的移动和对手的移动在可能的路径树上向下移动约1或2个级别。假设我们具有计算能力,可以开发一种预测象棋游戏中对手所有可能动作的算法。该算法具有对手在任何给定时刻可以采取的所有可能路径的算法,具体取决于玩家的移动。有没有一种完美的国际象棋算法,永不丢失?还是永远赢的算法?我的意思是说,理论上可以预测所有可能动作的人必须能够找到一种方法来击败每一步,或者如果某个人肯定会导致他失败,那么他只能选择一条不同的道路.....

编辑-我的问题确实是什么。假设我们具有可以发挥最佳性能的完美算法的计算能力。当对手使用相同的最佳算法时会发生什么?这也将适用于所有2个具有有限数量(无论是否大)移动的玩家游戏。会有永远赢的最佳算法吗?

个人定义:最优算法是永远赢的完美算法(不是永远不会输的赢,而是永远赢的赢的算法)



这个问题是基于几个误解。首先,国际象棋计算机看起来比前面的一两层要远得多:即使在五年前,在一台普通笔记本电脑上,相当普通的国际象棋程序也正在向前看15-16层,在关键行上超过25层。其次,如答案所示,无法将“完美”定义为“永远获胜”。第三,国际象棋引擎不会“预测”动作:它们会根据任何可能的响应来计算和进行良好的动作。
David Richerby 2014年

Answers:


13

您的问题类似于古老的栗子:“当无法抗拒的力量遇到不可移动的物体时会发生什么?” 问题出在问题本身:所描述的两个实体不能存在于同一逻辑上一致的宇宙中。您的最佳算法(一种始终获胜的算法)在一方必须获胜而另一方必须输掉的游戏中,双方都不能玩。因此,定义的最佳算法将不存在。


3
好吧,例如,它可以是一种让第一个玩家获胜的算法。这意味着先打具有优势。也许最佳算法只允许第二名玩家获胜。这将给第二个玩家一个优势。第三种可能性是一种算法,该算法允许一个玩家始终强制平局,尽管不能保证获胜(因为OP想要知道,这就是发生的情况,例如,如果两个玩家都使用相同的获胜策略,如果在第一个或第二个播放中没有优势)。
Realz Slaw 2012年

3
@Realz好吧,是的,如果您更改“最佳算法”的定义,那么您可以证明自己喜欢的任何东西。我使用了提问者要求我们使用的定义。
凯尔·琼斯

这就是我试图摆脱人们的答案。不可能有一个总是赢的算法,因为这是一个2人游戏,所以没有办法发挥作用,因为两个玩家都可以拥有相同的算法,因此简单地,至少其中两个中的一个被迫不赢(输或平) 。我问同样的问题,以我的老师,我们花了很多关于他的谈话来得到这样一个结论
约翰DEMETRIOU

3
@JohnDemetriou问题在于该结论是错误的。由于先发优势,国际象棋不是对称游戏-完全有可能存在一种最佳算法,该算法允许怀特打赢,但布莱克不能使用该算法,原因很简单,因为她不是怀特!
史蒂文·斯塔德尼基

我应该指出,也有可能先行并不是优势,实际上,有一种算法总是可以让方与白方的最佳表现相抗衡-但立即显而易见的是,没有算法可以始终允许一个人赢,无论是黑人还是白人。这就是为什么人们说“可能的最佳结果”的原因,因为“从双方赢得胜利”是不可能的。
史蒂文·斯塔德尼基

23

首先,我相信国际象棋算法看起来没有超过2层,尽管它们没有考虑所有不同的可能性。修剪搜索树对于避免组合移动可能发生的爆炸数量非常重要。

对于象棋这样的游戏,关于获胜者的身份,存在三种可能性:玩家1拥有获胜策略,或者玩家2拥有获胜策略,或者两个玩家都处于最佳比赛状态。尚不知道国际象棋的情况。但是,由于国际象棋是一个有限的游戏,因此存在一种计算机算法,该算法由一个非常大的桌子组成,可以最佳地下棋。

当然,这样的算法不可行。但是,对于一些较简单的游戏,已经确定了游戏的“价值”(如果有玩家,则该玩家获胜),并且已设计出最佳算法。这样的游戏被称为已解决游戏

组合博弈(称为组合博弈)的数学主题是组合博弈理论。数学家开发了一种递归方法,可以根据给定游戏图(包括所有允许的位置和移动)来确定游戏的值。您应该能够在Wikipedia条目或有关该主题的任何讲义中找到此算法的描述。


是的,的确如此,但是我想回答另一个问题的任何答案,当两个玩家都使用最佳算法时会发生什么?如果玩家找到一种方法来击败最优算法会怎样?
John Demetriou

11
@JohnDemetriou当两个玩家都发挥最佳状态时,您会得到一些结果。该结果称为游戏价值。如果国际象棋是白人获胜,则意味着黑人不可能做的事会击败白人球员,达到最佳状态。怀特有效地拥有一本巨大的书(或能够从这本书中计算出该书的举动),其中包含了一个完美的计数器,可以应对黑棋在游戏开始时可能出现的任何情况下做出的任何举动。顺便说一句,问号上的chillax。一句话就足够了。
rrenaud

我为问号表示歉意。这只是我一般的输入方式。如果国际象棋是最理想的胜利该怎么办。白色和黑色是否有同一本书和相同的计数器?那会发生什么呢?
John Demetriou 2012年

1
@JohnDemetriou“最佳”表示“最大可能”。如果国际象棋规则的数学结果是,最好的黑色可能会与最佳的白色牌相提并论(甚至可能只会尽可能长时间地延迟白色的获胜),那么黑色的最佳算法就是达到这一目的的算法,并能够击败大多数非最佳对手。

1
@JohnDemetriou可能有一种算法总是以白色胜出;显然,由于已经概述的原因,该算法不能总是以Black的身份获胜(因为它会与自身竞争)。它证明,它甚至可以 “胜”棋发挥完美,有一个算法保证了黑色反对任何反对的胜利。如果您的意思是“总是从任何一方获胜的算法”,那么我建议您使用该术语。“最优”已经具有明确的含义。
Steven Stadnicki 2012年

8

首先,好的国际象棋算法比1或2个级别看起来更远。他们不使用朴素的树搜索,而是执行alpha-beta修剪来缩小要考虑的选项数量。请注意,对于开局和结束游戏,使用了较大的移动数据库,因为它的性能比在游戏中间使用的树搜索更好。

问题是:您要问的是“国际象棋可解决吗?”。假设是这样,尽管对于能否在不久的将来实现此结果存在意见分歧。例如,跳棋是在2007年解决的,但是位置要少得多(在国际象棋中是平方数的平方根左右)。有关更多信息,请参见Wikipedia文章

顺便说一句,目前最好的国际象棋AI几乎总是会击败或吸引世界冠军。因此虽然目前尚不完善,但至少算法还不错!


6

原则上,象棋可以像其他任何游戏一样解决。但是,正如其他答案所指出的那样,预计这不会很快发生。

编辑:在评论中已指出[1]是个骗局,因此请跳过此答案的其余部分。

也就是说,在这个方向上最近有了一些发展。[1]声称已经证明叫King's Gambit的象棋开局已经解决:只有一招为White吸引,而所有其他开局都为Black赢得了胜利。请注意,[1]并未全面探索游戏树,而只是声称这些结果具有很高的可能性。

[1] http://chessbase.com/newsdetail.asp?newsid=8047


1
确实很有趣!
Paresh

那不是最佳算法。我在问是否存在最佳算法(如果我们有计算能力)
John Demetriou 2012年

1
对了,考虑到你的“优化算法”作为一个算法,总是赢的定义,这样的算法不能存在两个球员,黑色和白色。除了较大(但有限)的游戏树之外,与其他游戏(例如Hex)相比,国际象棋在这方面没有什么特别之处,对于该游戏,解决方案是已知的:如果第一个玩家使用最佳(已知)策略来玩Hex ,那么无论第二位玩家使用哪种算法,第一位玩家总是会获胜。
彼得

国王的解决难题文章被证明是骗局。请注意文章的开头“ Rybka计划的作者Vasik Rajlich和他的家人在3月31日从波兰华沙搬到了匈牙利布达佩斯的新公寓。第二天,尽管搬箱子和摆放的环境十分繁琐电话和互联网连接Vas,请接受以下采访”-换句话说,这是4月1日...
Joe K

-1

能否始终赢得国际象棋比赛取决于游戏规则。但是,有一个名为Minimax的技术/算法(有关详细信息,参阅https://en.wikipedia.org/wiki/Minimax)。该算法在于尝试通过递归函数来预测哪个玩家在不同情况下具有优势。以下是使用简单游戏的清晰说明:井字游戏https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13


尽管其他答案未明确提及minimax,但某些答案确实指向最终导致链接的链接或alpha-beta修剪(一种更有效地实现minimax的算法)。这个答案还没有说什么呢?
离散蜥蜴

-3

将会添加另一个强调庞大的状态空间的答案,这在问题中并未真正概念化或在其他答案中并未指出。必须不同意您的前提:

假设我们具有计算能力,可以开发一种预测象棋游戏中对手所有可能动作的算法。

请参阅有关Shannons 1950论文的信息,“为象棋编程计算机”,介绍了基于计算机的象棋/算法领域,其分析基本上没有变化,而且仍然很合理(即使随后的计算机革命和摩尔定律也是如此)。它估计移动次数。它绝对是天文数字。在“即使在革命性的不可预见的进步下,也绝不会出现在可想象的硬件之内”的范围。

它是一个有据可查的心理事实[3],可能是许多心理偏见[2]之一,人类很难理解如此数量的数字。又见反事实思维。[4],而超级计算机计算庞大的问题,其毫无争议不是当前建造或所能任何超级计算机的范围内进行建造。(许多国际象棋爱好者都认为这种“组合/爆炸”的移动/位置可能性是游戏“风味”的一个内在方面,而游戏“风味”似乎是故意设计成千年的游戏)。

因此,国际象棋与某些具有较小“可解决”状态空间的游戏(在其中有计算机科学和游戏理论等的研究)从根本上不同,并且在某些关键方面无法在该框架内进行评估。

101234×10791081

话虽如此,但可以想象(但不太可能)的是,该游戏可能有理论上的见解,可用于大幅削减搜索空间。自1950年以来发生了这种情况,但实际上并没有发生任何根本性的突破。

也可以看看

[1] 解决国际象棋tcs.se的计算复杂度是多少

[2] 人为判断和决策偏见

[3] 心理学学生发表有关数字概念化的研究

[4] 反事实思维


以及在理论上开始了我的问题是假设我们的计算能力,我们在世界的一半的电脑为白色集群,另一半为黑色....结合工作
约翰DEMETRIOU

1
花花公子,即使连接现在存在或曾经存在的每台超级计算机,它也保持有效。那么您的问题就等于“从理论上讲,如果理论是错误的……”,理论(包括物理学在内)基本上说,您现在或将来永远无法计算出比宇宙中原子多得多的路径。 。
VZN

3
是的,但问题始于让我们说我们拥有计算能力,这可以做到吗?这是实际的问题,如果我们有能力,可以有一个算法吗?
约翰·德米特里

+1表示以下事实:它在物理上无法实现精确解决国际象棋所需的计算能力。另外,我不知道为什么所有-1都带有这个答案,我认为这很公平,并且为其他答案增加了深刻的见识。
亚历杭德罗·皮亚德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.