教育培训 > 人类还需要多久可以研发出算尽中国象棋的计算机?

人类还需要多久可以研发出算尽中国象棋的计算机?

2020-07-19 15:18阅读(61)

人类还需要多久可以研发出算尽中国象棋的计算机?:我的答案是遥遥无期!原因是这样的:近年来中国象棋成绩最好的是王天一,他的棋艺特点就是主动用软件进行训练

1

我的答案是遥遥无期!

原因是这样的:

近年来中国象棋成绩最好的是王天一,他的棋艺特点就是主动用软件进行训练,和上一辈高手方法不同。王天一下出来的招有时就象AI,以致于有些高手风言风语影射他用软件作弊引发风波。

据统计,国际象棋理论变化数为10的123次方,实际合理变化为10的46次方。

中国象棋理论变化为数10的150次方,实际合理变化为10的48次方。

围棋理论变化数是10的361次方除以4,实际合理变化为10的172次方。

还有人是这样计算的:

围棋变化远远超过象棋。中国象棋与围棋都有着悠久的历史,也都是我国古人智慧的结晶,传承千年而不衰,正是这近乎无穷的变化之道才是其魅力所在。

围棋有多少种变化?一般有两种算法,第一种,按棋盘上的点来计算,一盘棋下完后,每个点只可能出现三种情况,黑、白、空,所以按这个方法来算,围棋的变化是3^361种,不过这种唯结果论的算法缺陷比较大,因为针对每一种对局结果,都有n种不同的过程可以到达;所以,更多的人倾向于第二种算法,就是简单粗暴的穷举法,即第一步有361个点可以选择,第二步就有360个点……以此类推下去,可以得出围棋的变化是361×360×359×358×……2×1,即361的阶乘。但玩过围棋的都知道,下棋的过程中有不少禁入点,这样在下棋的过程中就会减少一部分变化,而打劫的过程又会增加很多变化。我们姑且认为两者可以基本抵消,忽略这些技术细节,361阶乘这个结果还是基本可以接受的。这个数字大约为1.43×10^768,也就是是1后面有768个0。

再看看中国象棋的变化,与围棋最大的不同是,象棋的子是可以移动的,所以象棋的算法也是有很多种的,这里不具体说明了,一盘国际象棋的大约有10^123种变化,而我们的中国象棋比这要多,约有10^144种。当然不能算磨棋了。

这么看,围棋的变化要远大于象棋,但是,围棋棋子是越下越多的,可选择的下法越来越少,所以围棋的变化可以用穷举法得出极限。而象棋则不同,棋子是越下越少的,但要想知道怎样减少、何时减少、何时算结束,要知道,象棋中不止有输赢,还有第三种情况和棋。而且象棋子减少的时候,可以利用的空间反而增加。用热力学定律比喻一下,就是下围棋是个熵减的过程,象棋是熵增的过程。所以,从某种程度上讲,象棋的变化也许没有最大值。

至于宇宙中原子的总数,用天文观测的数据拟合现在的宇宙学模型,可以估算出我们观测到的宇宙原子的数量在10的80次方这个数量级,不管是围棋还是中国象棋的变化都要比这个数字大的多。

那么,针对问题人类需要多久可以研发出算尽中国象棋的软件或是计算机,现在看是遥遥无期的。


2

少年,你是什么时候有这个想法的?

我们来分享一下,智能和智慧这两个词的区别

智能是通过各种算法,来分析,学习


智慧是什么呢?这个有点不好答,简单的讲,家庭之间的矛盾需要用智慧来处理,爱的地方来讲理,用智能来处理,你说这个家庭会怎么样?

以此类推,这个象棋是智慧之学,这个团队有多高的智慧,他们就能研发出多智能的计算机~~~~

3

人类还需要多久可以研发出算尽中国象棋的计算机?

这个问题的潜台词就是目前的计算机还没有能力把中国象棋的所有走法算尽,但这其实是一个认识上的误区。实际上人类早就研发出可以算尽中国象棋的计算机了,所以不存在还需要多久的问题。

当然,首先得搞清楚一个概念,所谓的算尽其实有两种层面上的意义,一是纯理论的计算,二是实战中的计算。

既然有朋友提出了这个问题,那我们就来简单地聊一下。

  • 中国象棋的变化之数是个天文数字

即使是不太了解中国象棋的朋友们应该也不难想象,如果把中国象棋所有可能的走法累加起来将是一个非常庞大的数字。庞大到什么程度呢?

我们在这里就不去研究它的计算原理了,早就有人帮我们做好了这个计算工作。如果按照50个回合来算,变化数大约在10的140次方。而根据科学计算,目前我们整个可观宇宙内所包含的所有原子的个数也只不过是10的80次方——至于怎么算出来的那是科学家的事情,在这里我们不做讨论。

所以,中国象棋的变化总数确实太庞大了,比整个可观宇宙内存在的原子数都多。

  • 理论上的数字比这还要大的多

尽管这个数字已经非常庞大,但其实在理论上还只能算是冰山一角。因为这只是按照50个回合来计算的,如果回合数翻倍,变化总数可不是简单地跟着翻相同倍的。

在2009年的九城置业杯的比赛中,蒋川对战李雪松走出了272个回合之多,那这个变化总数就完全是另一量级了。但这仍然没有脱离实际,理论值比这还要大的多。

因为既然是讨论算尽,那就不用考虑是不是合理走招的问题,只要不违背棋规即可。但是我们知道在中国象棋中有自然限招的规定,所以中国象棋的总回合数还是有极限的。

如果我们往极限里走的话,至少每60步棋需要有一次吃子行为,一直吃到剩下两个光将,然后再过60个回合判和。那么象棋的总步数为:60*31=1860,即930个回合。

这才是中国象棋回合数理论上的极限值,在这个回合数下的变化总数会是多少呢?显然比10的140次方要大的多的多。因为算法确实太复杂,又没有人替我们做这项计算工作,所以我们知道这么回事就行了,实在没必要搞个具体数字出来。

  • 计算机的运算能力

虽然说穷尽中国象棋所有的可能走招将会是一个超级天文数字,但是这并不代表电脑不能把它算尽,我们先来看一下计算机的运算能力。

早在1997年,超级计算机深蓝就以2胜1负3平的战绩战胜了当时世界排名第一的国际象棋大师卡斯帕罗夫。当时的深蓝计算能力为每秒钟2亿步,世界排行只不过第259位。

2006年人机大战的浪潮天梭运算速度已经是每秒可计算42亿步棋了。

2019年6月17日上午,第53届全球超算500强名单发布。中国的“神威太湖之光”和“天河二号”分列第三、四名。第一名为美国的“顶点”,性能峰值达到了148.6 PFlops,即每秒钟可以运算14.86亿亿次。

  • 计算机算尽中国象棋没有压力

如果我们以2019年的美国超级计算机“顶点”的运算能力来看,每秒钟可以运算14.86亿亿次。没搞错的话就是148600000000000000,即大约1.4*10的17次方。

中国象棋的变化数如果按照上面说的50个回合来看的话是10的140次方,这和10的17次方完全不在一个量级,计算机是难以完成计算任务的。如果按照理论极限值930个回合来看,恐怕当今所有的计算机加在一起也无法把它计算玩。时间不允许,数据也装不下。

但这只是理论的层面,实际上象棋的变化之数并没有这么恐怖。如下图:

起始盘面中第一步走法仅限于红方的16个棋子,因为相、马、车分别有2种走法,而炮自己就有11种走法,所以红方第一步共有42种走法。接下来轮到黑方,在红方第一步的42种走法下面分别又有黑方的42种走法。如此下去,形成一个庞大的网状数据,也就是上面的理论值。

但事实上红方第一步最终只有一种走法可以确定,而第一步一旦确定之后,其它41种走法下面的庞大数据立马就不存在了。笔者没有能力计算出这丢掉的41种走法下面的数据是多少,但相信这已经远远达不到理论值了。

这还不说上面提到的比如只剩下两个光将之后实际上每一步最多只有4种选择,所以就算不考虑扣除掉不合理的走法,感觉这个数据也应该有了被计算完的可能。

第二步黑方也一样只能最终确定一种走法,那么也一样的其它41种走法下面的庞大数据立马就不存在了。循环下去,每一步都会丢失庞大的数据。

所以,仅仅是在原始盘面的状态下计算机直接去运算才有可能无法算尽,也就是说纯理论数字计算机是完不成计算任务的。但一旦开始走动,哪怕只是确定了第一步,数据的量级立马就直线下降,这是完全有可能算尽的。而随着局势的进行,被算尽就由可能变成了一定能。

所以从实战的角度来看,计算机算尽中国象棋是毫无压力可言的。

备注:原本这一轱辘里面有计算错误的地方,但一直懒得没改。为了不至于误导新阅读的朋友,特抽时间重新编辑修正了一下,感谢棋友们的指正。

  • 中国象棋领域人类和计算机的对抗简史

在中国象棋的领域中,人类棋手和计算机的第一次大规模正面交锋可以追溯到2006年的浪潮天梭和以许银川为代表的职业棋手团队的对抗。

人类棋手搞了两支队伍,一支是由徐天红、卜凤波、柳大华、张强、汪洋等五位顶尖棋手组成的队伍;另一支则是由7万人左右的网络海选中脱颖而出的25位网络高手组成。

第一战队只有张强和汪洋分别赢了一局,第二战队全灭。所以在这里顺便说一句,不要再迷信什么民间有高手的说法了,这要分领域,至少在象棋领域里能达到大师或特大水平的民间高手是基本不存在的。

最后许银川作为当时的中国象棋第一人挺身而出,单独约战浪潮天梭。最终的结果是两战两和,也就是说2006年人类最高水平和超级计算机只能顶和。浪潮天梭在当时的世界排名还算不上顶尖。

而现在的计算机水平早就甩人类棋手几条街了。目前中国象棋第一人是王天一,王天一在直播中曾经说过,现在的强软可以让他几先仍然保持不败。也就是说如果在不让先的情况下王天一毫无顶和的可能,更别说取胜了。

  • 把中国象棋算尽没有多大意义

所以说,目前的中国象棋强软已经可以轻松吊打任何一名人类棋手,这还只是在普通家用计算机上就可以轻松实现的。所以在中国象棋领域里人脑干不过计算机已经成为一个不争的事实,而且早就有业内人士分析,穷尽象棋变化的终极结果将是和棋。

因此把中国象棋算尽实际上没有多大的意义,即使存在先手必胜的可能这也是无法被人类棋手利用的,因为谁也不可能把这个完整的棋谱背下来。

所以,从实战的层面上来看,并不是没有能把中国象棋算尽的计算机,只是把中国象棋算尽毫无意义,因此没有在这方面再做更进一步的研究和改进。

目前的棋软只是基于在个人电脑上的应用和更新换代,超级计算机已经不再涉足这个问题。

4

这个目标已经实现了。

中国象棋和国际象棋都已经被计算机攻克,现在主攻的是更为复杂的围棋,相关新闻告诉我们,人类的围棋大师也已经投子认输,随着人工智能的加入,全面占领应该不会太遥远。

5

1一台叫深蓝的计算机于1997年就打败了国际象棋卫冕冠军。

2一种叫阿尔法狗的人工智能围棋软件于2016年打赢了人类顶尖高手李世石

3至于中国象棋,网上的普通软件人类就下不过了

4当前计算机还算不尽中国象棋的变化,主要是耗时太长。

6

我认为只要人类的思考没有停止,就不可能研发的出可以算尽中国象棋的计算机,或许你不明白这句话,就比如这样说吧:

计算机怎么出现?

计算机的出现其实是因为人类需要一个快速计算以及快速推演一些结果而研发出来的科技,计算机从诞生一直到现在这一刻起都没有存在属于计算机自己独自的思考与想法,这也就说明,目前计算机一起的推算也只是人类在操纵。


计算机当前的思维等于人类的思维!

上一个解答中得出,计算机目前一切的行为都是人类在操控,那就证明了计算机如果不完全“跳出”人类的思维,也就是计算机如果无法产生自我意识,那么计算机当前一切的行动甚至是推算都是属于人类自己的思考与决定,因此得出计算机的当前思维就是人类的思维。


最后总结:其实我们证明了计算机的思维等于人类思维后一切都明朗了,只要人类的智慧没有停止发展,计算机也没有产生超脱于人类的智慧时,那么就证明人类永远都无法研发出可以算进中国象棋的计算机。

以上是我的看法,希望对你有帮助,谢谢。

7

或许就在不久的将来。

中国象棋

中国象棋是中国文化的智慧结晶,变化万千。中国象棋共32枚棋子,红黑双方各执16枚,棋盘为9条竖线和10条横线,共90个交叉点。据统计,中国象棋的理论变化总数为10的150次方,而实际合理的变化则为10的48次方。

我们对于10的48次方可能没有什么概念,那我们就来计算一下。假设我们的计算机在1秒之内可以计算1亿次中国象棋的变化,那么需要多久才能算完所有变化呢?

答案是10的40次方秒,约等于3.2乘10的32次方年。科学家推测的宇宙大爆炸为140亿年起,而尽中国象棋变化则需要320亿年再乘以10的22次方。这真的可能算到宇宙结束还没算完。



量子计算机

但希望并不是那么渺茫的。人们正在研发新的工具——量子计算机。与目前我们使用的以电子为基础的计算机所不同,量子计算机以量子力学规律为基础,可以实现高速的数学和逻辑运算。量子计算机对于计算机领域将会是颠覆性的存在。



传统计算机是通过集成电路中电路的通断来实现0和1之间的区分,基本单元为硅晶片。而量子计算机也有着自己的基本单位——量子比特,它通过量子的两态的量子力学体系来表示0或1。

硬件上,量子晶体管通过电子高速运动来突破物理的能量界限,从而实现晶体管的开关作用,控制开关的速度极快,比起普通的芯片运算能力强大很多,使得量子计算机的运算速度得到很大的提升。

同时,量子并行计算是使得量子计算机能够超越经典计算机的先进技术。量子计算机以指数形式储存数字,当量子位增至300个量子位时,量子计算机就能储存比宇宙中所有原子还多的数字,并能同时进行运算,大大地加快了计算的速度。

借助量子计算机,我们或许可以把原来看似不可能的计算在极短的时间内完成。或许在不久的将来,仅仅几秒之内,量子计算机就能以其超越想象的计算能力,把中国象棋那那天文数字的所有变化布局算尽,使我们回头感叹科技发展的飞速。



总结

总的来说,以目前现存的技术,要把中国象棋的所有变化算尽使不可能实现的。然而,在不久的将来量子计算机的出现,或许能够打破这种局面,以其强大的计算能力,在短时间内算尽中国象棋的变化。

未来还是未知数。目前,量子计算机发展迅速,量子计算领域捷报频传,研究者们去得到不少成果。我们希望量子计算机的到来,能够使天方夜谭成为现实。


8

我觉得这个问题并不严谨,首先,需要开发的不是计算机,而是软件。其次,在现有条件下,只要你花的起时间设备费以及电费,稍微调整一下软件的算法,其实完全可以穷尽象棋的所有变化。只是这事儿的成本太高,意义也不大而已

9

机器人阿法狗已经把人类打败了,相对难度低一点的象棋,恐怕团队没什么兴趣去折腾了,因为围棋的说服力已经很强了。

10

22个答案都学习了一下,没想到这个问题还有如此的分歧。

明确的讲,计算机早就有了,关键是软件!软件也有了,就是阿尔法元。阿尔法狗都不能算。

阿尔法元已经攻破围棋、国际象棋、日本将棋,德州扑克(某种玩法),唯独没有尝试象棋,但是理论上讲,这三种棋是一个道理,一通百通。

为什么说是已经破解了呢?阿尔法元,是自学下棋,只依靠规则,自己和自己下,不依靠人类任何棋类方面积累的知识成果。就是说,只要符合规则,它会尝试任何的走法,比如开局走:帅五进一、将5进1………;比如开局走相三进一,象7进9……,它每秒计算上亿步,分分钟完成人类一生也难以走过的棋路。它把这些不断总结,把合乎“取胜要求”的走法保留下来,有待备用。

因为,棋盘是有限的,棋子也是有限的,所以它的变化一定有定数,这样,如阿尔法元这样的程序,一定能穷尽象棋的变化。

不要过分在意什么变化是10的多少次方,什么比宇宙原子还多,那个算法有问题。比如说,有10^140的变化,假如一盘棋有1000步(往多说),那么平均每步棋的还有10^137的选择。棋还用得着思考吗?这是笑话!实际上,开局第一步有:兵5+炮24+相4+马4+车1+士2+帅1=41种走法,应对黑方也是41种,那么开局第一回合一共41*41=1681个不同局面。但是,因为利益,红方选择大大少于41,黑方应对则更加有目的性,比红方选择更少,而第二回合以后利益纠缠在一起选择愈加减少,同时利益最大化的选择通常只有一种。所以变化没有想象那样多。

如阿尔法元这样的程序算法,象棋一定是被破解的,答案应该所有“和棋的集合”。