既然圍棋的複雜度數量級遠超宇宙原子數量,那麼是否可以從理論上推出,永遠無法用計算機得到圍棋的所有解?

用戶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

用窮盡的方法列舉出來所有的答案並不是無法完成的艱難任務。既然圍棋的棋盤圖案是確定的,棋子可能的位置及數目也是確定的,那麼可能的答案數也就是有限的和明確的。宇宙的全部原子數也許是有限的,也許不比圍棋可能的路數組合多,但是,問題的關鍵在於,每一個原子的可能的空間相對位置的可能性幾乎是無限的,這樣一來,相比之下,一個小小的圍棋盤上,能夠演繹出再多的精彩,也不過是宇宙中一朵浪花而已。聊勝於無!


分享到:


相關文章: