立場新聞 Stand News

AlphaGo 連勝人類:從圍棋複雜程度淺談人工智能重要性

2017/5/23 — 20:33

2016 年 1 月 28 號科研期刊《自然》的封面。

2016 年 1 月 28 號科研期刊《自然》的封面。

AlphaGo 改良測試版本已戰勝地球上幾十位最強人類圍棋高手。人類憑科學、邏輯、數學,創造出能夠在現有棋類中最複雜的圍棋戰勝世界冠軍的人工智能。

人工智能與一般電腦程式不同之處,在於其並非簡單依循人類工程師定下的規則去執行指令。人工智能使用分析大數據的演算法,稱之為機械學習(machine learning)。機械學習是一個統稱,其分成眾多不同演算法,應用於各種不同問題,詳細分別在此不述。無論何種機械學習演算法,其共通點是電腦會從過往經驗中學習,自動分析出最佳執行策略。

廣告

以棋類為例,為什麼必須使用機械學習?原因在於其可能步法數量非常多。我們可見的宇宙中,大約有 10^80 個粒子,即 1 後面跟 80 個零。我們可以問,圍棋最多可能有多少個不同棋局?

圍棋的棋盤是個 19 x 19 的正方形,即有 19 x 19 = 361 格。每格可以有三種狀態:黑子、白子、空位。因此,每一步最多可以有 3^361 種擺法,即大約 1.7 x 10^172 種擺法,亦即 17 後面跟 171 個零。這已經比宇宙中的粒子總數 10^80 更多。然而根據圍棋規則,並非每一格都能任意放黑子或白子,因此實際上最多可能擺法應比 1.7 x 10^172 少一些。電腦科學家 John Tromp 與其他人曾計算出實際可能擺法約為 2 x 10^170。

廣告

接下來,我們需要知道一局最長能有多少步。這很簡單,因為明顯地一局最長只能把所有可能擺法全部走完,即 1.7 x 10^172 步。Tromp 曾證明要在一局內把 1.7 x 10^172 步全部走一次是不可能的,但真正最長能有多少步仍未有人能計算出來。所以,1.7 x 10^172 步是數學上的絕對最大值。

因此,我們就知道,圍棋最多可能有 361^(2 x 10^170) 個不同棋局,約等於 10^(5.3 x 10^170),即 1 後面跟 5.3 x 10^170 個零。那麼多,究竟是多少個零啊?總之多到我也不想數。好吧,你硬要我數,我就數給你看。5.3 x 10^170 個零,即 53 後跟 169 個零,即

530,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,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 個零。

所以,圍棋最多可能有 1 後面跟這麼多個零個不同棋局。不要叫我寫出來,因為宇宙的年齡約為 138 億年,即約 4.35 x 10^17 秒。如果我由宇宙誕生的一刻開始寫,每秒就必需寫 10^152 個零,才能在今天寫完。再者,我肯定不夠墨水寫,因為我每秒必須寫的零的數量比宇宙中的粒子總數 10^80 更多。

當然,這是圍棋不同棋局數量的上限,哪麼下限呢?根據 Tromp 與其他人的計算,下限約為 10^(10^48),即 1 後面跟 10^48 個零,即 1 後面跟 1 後面跟 48 個零個零,即 1 後面跟

1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 個零。

嘩,少了好多個零啊。可是,這仍比 10^80 多非常多。就算我們以人類平均一局圍棋長度約 400 步來算,也大約有 10^800 個不同棋局。如果每個粒子都懂得下圍棋,宇宙中每個粒子都必須記住 10^720 個不同棋局才能把 10^800 個棋局全部記住。

因此,這就說明機械學習的重要性。正如我們會把發明汽車、輪船、火箭、太空船等等視為人類文明進步,我們應把 AlphaGo 看成人類文明另一大進步。人類發展出能夠自動分析數量過於龐大的可能性的電腦,若能應用於正當、適合的問題上,將是人類文明發展的極重要一步。例如自動駕駛。路面的複雜程度不下於圍棋,未來的自動汽車應能準確預測路面情況,把交通意外數量降至接近零。

 

延伸閱讀:

Number of Possible Go Games

原文今年1月刊於作者博客

發表意見