既然围棋的复杂度数量级远超宇宙原子数量,那么是否可以从理论上推出,永远无法用计算机得到围棋的所有解?

用户172304069

是否可以从理论上推出,永远无法用计算机得到围棋的所有解呢?要解决这个问题,我们得先看它的大前提。

在题目中,它的大前提是:围棋的复杂度数量级远超宇宙原子数量。宇宙何其广阔,这一结论又是从何而来呢?

如果把宇宙定义为“我们可观察到的宇宙”,将其看作一个有特定体积的球体,根据人类对其的观察估算它的密度,就可以得到这个“球体”的重量。用这个质量除以平均原子的重量得到的数值就是我们题目大前提中的“宇宙原子数量”,大概是10^80,即10的80次方

按照围棋棋盘横竖各19条线,总361个交叉点,双方交替落子,可算出围棋的复杂度大概是10^173.28,即10的173.28次方从数值上讲,比宇宙原子数量大很多,这是我们大前提的由来。

既然它的复杂度数量级比宇宙中的原子数量还要多这么多,看起来计算机似乎是永远也不能计算出其所有解。但是——我们是否忽略了一个问题:围棋是一种策略性棋类运动,它有它的规则有它的输赢。一位围棋老师曾经说过,361个交叉点,其中大概三百多个点,在前期是不能下的,因为将子落到此处是不占优势的。这样一来,其能下的点就只剩下几十个,它的复杂度一下子减少很多。同时,围棋棋盘上的棋子越下越多,也意味着棋局进行的越到最后,可供选择的落子点就越少,而不是可以随意落。从这个角度结合围棋的输赢来看,它的复杂度数量级是没有理想中那么大的,事实上是有可能用计算机得到所有解的。


镁客网

关于围棋复杂度和宇宙原子数量,直接上数据。

围棋的变化情况

棋盘上一共361个点,黑白交替落子,第1子有361个位置可选,第2子有360个位置可选,第3子有359个位置可选……则在数学上可能出现的布局种类一共有:

361x360x359x………x3x2x1=1437923258884890654832362511499863354754907538644755876127282765299227795534389618856841908003141196071413794434890585968383968233304321607713808837056557879669192486182709780035899021100579450107333050792627771722750412268086775281368850575265418120435021506234663026434426736326270927646433025577722695595343233942204301825548143785112222186834487969871267194205609533306413935710635197200721473378733826980308535104317420365367377988721756551345004129106165050615449626558110282424142840662705458556231015637528928999248573883166476871652120015362189137337137682618614562954409007743375894907714439917299937133680728459000034496420337066440853337001284286412654394495050773954560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.

是不是看得眼花了,用科学计数法大约是1.44x10^768.

以上计算,只是纯数学上的计算,并没有考虑实际规则下提子等变化,所以并不严格,只是估计一下它的数量级。

宇宙原子数

可以通过宇宙总质量/原子质量计算。

当然宇宙到底多大,人类还不清楚,只能估测一下目前观测到的宇宙质量:10^53kg

由于不同元素原子质量不相同,我们取最小的氢原子质量1.7x10^-27kg(只有一个质子)计算,这样可以计算得到宇宙最大原子数:6x10^79个

综合以上,围棋复杂度的数量级10^768确实是远超宇宙原子数的数量级10^79. 但我们能不能就此认为计算机无法解出围棋的所有解呢?

不能。因为二者并没有关系,我刚才用电脑算出了围棋的变化种类有1.44x10^768种,但我的电脑是宇宙的一部分,全宇宙都没那么多原子,我的电脑更没那么多原子。

能不能算出来并不依赖于原子的多少


砖业科普稻壳张

我是一个围棋老师,这个问题我来答最合适不过了,人工智能和原子问题虽然我不是很懂,但是围棋的东西还是很熟的。

围棋的复杂程度就不说了,经过前两年的人机大战,大家都很熟悉了,但是围棋毕竟是一个竞技游戏,所有的目的都是为了获胜,所以其实AI并不需要计算出所有的分支和变化,只需要在其中选择出最优解就可以。



跟其他的棋类相比较,大多棋类都是棋子越下越少,围棋却是棋子越下越多,这也就意味着,越到后期变化越少,结果也越简单。通常职业棋手们在最后收官的阶段,官子还尚未收完,就已经可以准确计算出后面几十步之后的变化,从而得到胜还是败的结果,所以职业棋手门的棋很多都并没有下到最后一步,真的下完的棋那结果都是胜负只差0.5-1.5目之间!



真正难的其实是布局阶段,在人机大战的时候,布局初期和刚刚开始中盘战斗的时候,AI和人类都是无法算尽所有结果的,AI通过大致推算,会选择一个胜率最高的一个点(并不是100%) 也可以说,AI是通过有选择的在猜! 而人类处理的方法,大多都是依靠棋感,没错,就是感觉,这种长期通过下棋训练出来的直觉,甚至会比AI更有把握!

19*19的围棋盘共有361个交叉点,但是并不是一上来就要去计算361的后续结果,其中大概有超过300个点,在前期都是不能下的,或者说,下上去是不占优势的,所以无论人类还是AI都会排除掉这些选项,在最开始,基数最大的时候,每下一颗子,AI的计算量都会成倍的减少!



所以,如果是下棋的话,人类现在是永远也无法再超越AI了,AI没有情绪,不会失误,只会挑最胜率最高的着法,而有血有肉的人怎么能比呢,唯一赢的方法大概只能拔电了吧。。。。

虽然第一步棋并不需要完全计算361个交叉点的所有变化,但是把这个任务作为科研的话,还是有他的实际意义的,现在AI虽不能完成,但凭借AI的学习能力已经硬件方面的发展,以后,谁说的准呢?

喜欢的朋友,可以关注我,并在下方留言哦~


夜猫子说棋

答:不能!

围棋的总局数是无穷无尽的。因为有打劫!

有单劫、双劫、三劫循环、多劫循环...

比如棋盘共有361个点,走了350步时,某方下一子提掉对方340子,棋盘上又有了广阔的位置下棋(此处参照珍珑棋局)

以上棋局包含一切废棋与人类不考虑胜负利益的所有着法!


七子堂球记

谷歌好像已经开发了50级的量子芯片,而这个芯片已经非常牛逼了,可以说这项技术的如果加以时日完善的话,基本上,我们可以真的可以看到WALL-E或者终结者的场景了。什么是50级量子芯片呢,就是每秒运算达到2的50次方次,这是一个你无法想象的速度,我在那个文章中看到了一个形象的比喻:走迷宫,现在的芯片是只能选择一条路走,错了,回到起点,再选择其他路径走,直到走对了为止,但是量子芯片不是,它会同时选择可以行的路线齐头并进,最后得出一个正确路径。这个技术相当可怕,简单说如果拿来破解密码的话,现行的加密体系直接就菜了。但是不知道用这样的技术来下围棋是不是直接在第一步就能将后面所有的变化都考虑清楚,然后也选择每一步都是制胜一步呢?这个还有待继续研发。但是,还是可以期待的。


轮回的刻度

围棋复杂度数量级远超宇宙原子数量????呵呵呵呵……我这搬砖的都确得是个笑话。有些自认数学很好的人算出一个吓死人的数据,其实没啥意义。围棋只是围棋,按照一定游戏规则进行的竞赛游戏,双方轮流下子,包围与反包围,得有互动才是游戏,你占半幅棋盘他占半幅棋盘,这样的下子是无意义的,单子对攻也是无意义的。计算围棋到底有多少有效的布局,先得计算一个子两个子多个子组合的影响范围才是有意义的,立几拆几,超出一格没有多少意义,再远就是废子,围棋攻防是在竞赛规则下,运用多子组合进行包围与反包围,破坏多子组合和重新布置多子组合过程。我不知道狗是如何进行取舍的,但我想第一步应该是去掉无效落子和组合,像在重重包围中,不能组合出两个有效眼或尴尬阵型,强行下再多的子都是无效组合……我想狗狗自学下棋,第一步应该是在竞赛规则下,迅速排除无效落子和组合,我们学棋第一步应该也是排除无效落子选择有效落子,只不过人有各种各样的性格,形成了各种下棋风格。第二步在多子组合中选择影响范围大的组合,在一种组合模式破坏后,接替另一种组合模式,而不是计算单个棋子落子顺序,那是毫无意义的。为优化选择,每局棋都有一个最大值的组合数,而不是见敌子就攻击。棋局开始,一方放弃占地盘另一方也只能占四个地盘,这四个地盘以星位辐射,星三三小目高目为据点,棋盘是对称的,理论上下在任意一个星都是一种下法,不是四个星有四种下法,不是第一个子就有三百几十种落子方式,实际上第一个子就只有可怜的几种落子方式,第二个子落子除了抢占据点还有攻击第一个子,这种攻击也得有一个影响范围,超出影响范围就是废子,所以第二步也只有那么几种方式。双方轮流占地盘,形成开局四种基本组合攻击,由此衍生出其他组合攻击,这种组合攻击可能就几个十几个吧,当四个区域的组合攻击没发生相互影响时,只要考虑这个区域,只有当这种组合攻击发展时,子力影响范围达到其他区域,综合考虑其他组合的影响范围,或合成更大的组合。而不是你下一个子,搜索所有的落子棋局,那是毫无意义的。

高手下指导棋,一个人同时跟上十人战斗,不是去关心对手下棋顺序,只是快速的从各种组合攻击中选择有效攻击方式,不会一个子一个子的计算。当一个区域失去攻击价值时,高手会寻找新的攻击目标,不会去下无意义的废子。只有低手,才会干无意义的事,甚至把自己弄成愚形,自毁眼位,自毁城墙。

围棋的有效布局数在竞赛规则下是有限的,不是那种近乎无限大的天文数字。再大的棋盘也只是两个人玩,不是战场单兵捉队厮杀,可以理解为阵型对抗,而且是回合制的阵型对抗游戏。


游子走四方-_

在差不多十年前我学习围棋的时候,就曾经试想过有没有可能用计算机赢得胜利。但因为那时候所有的电脑水平至多不过业余三段,所以在那个时候,我是坚定地认为围棋只能是人类的游戏。

因为围棋的特殊性,也就是棋子之间相互平等,走法不受限制,且共有361个点可以下,这就导致了围棋不像象棋、军棋等棋类一样计算较为简单。围棋充满无限的可能,一方棋盘上,棋子如闪烁的星辰,浩瀚宇宙里,银河是看不到尽头的。



但随着AI的发展,计算机的计算量越来越大并且在速度上远超人类,这就导致了今天我们所看到的,阿尔法狗傲视群雄。

但这是否就能说明阿尔法狗算到了棋盘上全部的变化了吗?人类真的就至此终结围棋的统治了吗?

我认为答案是否定的。



在上文我曾经提过,阿尔法狗之所以能打败人类,靠的是大量的计算和速度的优势。速度,这是最重要的。我们通过人类和阿尔法狗的交手可以看出,大部分比赛都是30s一次,这就意味着阿尔法狗巨大的运算量在一开始就为自己占据了绝对的优势!

计算量也就是围棋的变化,人类并不是不能够算出最佳下法,这一点从柯洁对阿尔法狗的第二盘棋可以证明,前三十步,柯洁下出的正确率在阿尔法狗的计算中达到了百分之百的正确,这也就意味着,尽管几率微乎其微,但只要时间充裕,并且达到一定的计算量,人类是有可能每一步都下出最佳下法的,人类是有可能打败阿尔法狗的。

当然,Al终究是为人类服务的,也衷心希望在阿尔法狗的帮助下,围棋事业能发展的越来越好!


Jc69363

两者毫不相干。其实比较好的思路,也许是围棋的复杂度是否超越计算机的计算能力:以现在最快的超级电脑的频次,计算所有走法,需要多少时间,这个时间是否超过宇宙可能的寿命?并且考虑未来计算机更快,以及某些算法可以被忽略~既然是围棋竞技,不能制胜的直接排除掉


Kapple45

结论粗看起来是道理的,例如与宇宙原子的个数相比,围棋挺复杂,好像挺有道理,围棋人士挺自豪。但是推理有问题,围棋也是用宇宙中的原子构成的,所以结论不成立。围棋人士计算能力厉害,但和推理能力无关。大家赞一下,让这个过一段时间就出来的段子以后别出来误导。


lichengsheng2

用穷尽的方法列举出来所有的答案并不是无法完成的艰难任务。既然围棋的棋盘图案是确定的,棋子可能的位置及数目也是确定的,那么可能的答案数也就是有限的和明确的。宇宙的全部原子数也许是有限的,也许不比围棋可能的路数组合多,但是,问题的关键在于,每一个原子的可能的空间相对位置的可能性几乎是无限的,这样一来,相比之下,一个小小的围棋盘上,能够演绎出再多的精彩,也不过是宇宙中一朵浪花而已。聊胜于无!


分享到:


相關文章: