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

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

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

Advertisements

什麼是 the imitation game?

Alan_Turing_photo

你之所以能夠讀到這篇文章,電腦之父艾倫.圖靈 (Alan Turing) 居功至偉。在電影「The Imitation Game」裡面,我們看到圖靈建造了一部巨型機器用以破解德軍密碼。電影中幾次提到的問題「究竟機器能否思考?」究竟有甚麼意義?

在電腦出現以前,所有的機器都是不能被重新編程的,意思就是說一部機器只能夠做一件事情。換句話說,不把它全部或部分零件拆掉、重組,就不能夠做其他工作。其實,人類很早就發明了能夠計算簡單算術的計算機。它們與電腦的分別,就是電腦使用電子方式而非機械方式去進行計算,令到它們可以被重新編程。圖靈提倡並研究「能夠被重新編程的計算機」,開創了電腦科學這一整個學科,因此你與我現正使用的電腦和智能電話,全部都是圖靈機器 (Turing Machine)。

那究竟甚麼是 the imitation game?

其實,the imitation game 是圖靈在他的一篇論文之中提出的一個用以判斷「機器能否思考」的測試,現在叫做圖靈測試 (Turing Test)。換句話說,能夠通過圖靈測試的機器就會被定義為人工智能。測試原理非常簡單:我們要測試兩個「人」,問他們一些問題,其中一個是人類,另一個是電腦。測試只能以輸入字句的形式進行,因此我們不能憑聲音判斷哪一邊是人類或電腦,只能夠根據雙方的回答來判斷。如果我們無法根據任何回答分辨出人類和電腦,就代表這部電腦能夠思考。

現在的圖靈測試有很多不同版本,需要受測試的電腦騙倒一定數量的人才算通過,不過其基本原則都一樣。現時為止 (2015 年 3 月) 仍未有電腦成功通過圖靈測試。

這個簡單的概念為人工智能的研究打下了基礎,同時啟發了科學家去問更多新的問題。究竟機器能否思考?如果答案是肯定的,那人類就要面對很多科幻故事裡面提出的問題:擁有意識的人工智能,算不算擁有生命?有意識的電腦會不會像人類一樣,會說謊?我覺得電影之中,圖靈的一句對白是對這個問題的呼應:

“When people talk to each other, they never say what they mean. They say something else and you’re expected to just know what they mean.”

這就是科學,解決了一個問題,往往代表有更多的問題等待解決。