AlphaGo下棋不懂「死活」與「大小」怎麼可能贏!原來這個前提是錯的

AlphaGo下棋不懂「死活」與「大小」怎麼可能贏!原來這個前提是錯的
Photo Credit: Reuters/達志影像
我們想讓你知道的是

以人類可能達到的圍棋水平而言,AI的表現告訴我們,比起堆積意義的「算棋」,無從捉摸的「形勢判斷」是重要太多了,而從棋盤全體直接判斷形勢,正好成了AI的最強項,其正確性與速度,把人類遠遠拋在後面。

唸給你聽
powered by Cyberon

文:王銘琬

死活,圍棋最基本認識之一

下圍棋最基本的認識或技術,可以說就是「死活」吧!眾所周知,圍棋吃子的規則是把對手包圍起來後,可以吃掉,從棋盤上提取(如圖一、圖二) 。

圍棋

這可以說是圍棋唯一的規則 ,決定勝負的方法,跟象棋或日本將棋只要擒王就勝利不同。圍棋是以「最後在棋盤上剩下的子較多的一方勝利」,也就是以棋盤盤面全體的總數來分勝負。

圍棋雖如前所說明的是「圍地更多的一方贏」,但是為了「比對手留下更多子」在棋盤上,則必須「比對方圍得更大」才行,都是同樣的一回事。

圍棋的「圍」有圍對方的棋子跟圍地兩個意思;圍棋的棋子是不會動的,自己的棋子在棋盤上越多越好,棋子在棋盤上,形成不被吃掉的形狀,叫做「活」。

圖三:下黑1,就做了「活」的形狀。

圖四:因為A跟B兩個地方都被黑子所包圍,根據「圍住就能提取」的規則,白A、B兩個點都不能下,這樣的點叫作黑棋的「眼」;黑下1確保兩眼的話,白棋不可能吃到黑棋,黑棋數子到最後就可以留在盤上。

圖五:要是反被下白1,黑棋最後就會遭被提取的命運。

圍棋

圖六:此後白1之後,黑下2圍住白二子時,雖黑也同時被白包圍,能提取對方的棋子時,就可以下,也就是下黑2的話,可以提掉白2子。

圖七:但接下來,白再將1撲進去,黑也只好2提。

圖八:到最後下白1,就能把黑子全部提掉。

圖九:結果黑子全部被提掉了。圖五下了白1的狀況,在圍棋稱為「死」;必須先知道什麼是「活」,否則最後會被提掉,也無法獲勝。所以「兩眼活」不是規則,而是不被提取的技術。

圍棋

棋子的死活,是最基本而重要的認識,圖四是「活」之中,最單純的形狀。

圍棋的變化非常多,關於死活也可以有無限的變化與外觀;就像日本將棋有所謂「詰將棋」一樣,圍棋也有以「死活」為問題形式的「詰棋」,會下棋的人都知道,做詰棋題是提高棋力不可或缺的訓練。

在日本將棋,電腦最擅長將死對手,對局時絕對沒有看走眼的。

因此圍棋AI常被認為很擅長死活,但事實上如前所介紹的,圍棋AI對死活並不拿手;人腦的話,很簡單地能在棋盤中認識「局部」,然後判斷是「活」還是「死」,但是就算是厲害的Master,也還無法做到。

圍棋AI對自己的孤子也會做活,但它不像人一般,心想「這樣下就活了」,而是因為「下那裡就不會輸」的計算結果,並非和人一樣具備「活」的概念,若硬要教它「活」,它反而沒辦法下得的那麼好;如果在序盤出現詰棋般的棋形的話,人類會比Master更能正確地把握狀況,但這跟比賽的輸贏是兩回事。

電腦並非不會做詰棋,從幾年前起,就有解答詰棋的電腦軟體商品,不管多難的詰棋都能瞬間得出正解(只有一個問題是,圍棋有所謂「劫」的現象,「劫」又有各式各樣的種類,電腦還無法判別「劫」的種類,但將來大概是能解決的)。但這是專門解答詰棋的軟體,詰棋是「局部問題」,也只能用局部去解決;對局用的AI是沒有「局部」概念的。

從剛才一路在介紹棋子的死活,都是單方被包圍的情況,實戰不只單方遭到包圍;也會出現雙方都有危險,哪方都可能被提掉的局面,叫做「攻殺」。圍棋的實戰,比起單方的「死活」,「攻殺」的場面出現的次數更多,「攻殺」在實戰其實比「死活」更為重要。

如第三章Crazy Stone對多賀戰時所說明的,「攻殺」也是局部問題,AI至今還沒完全解決不擅長攻殺的毛病,人想要勝過Mastr的話,把它誘導到難解而沒有轉餘地的攻殺局面,大概就有機會吧!

大小,圍棋最基本認識之二

圍棋的基本認識還有一個,就是「大小」。

圍棋最終的目的是取得較多的「地」(陣地),自己下的一手棋能確保多少地,或是能破壞對手多少地,這是能用數字明白表示出來的;計算方法是「自己在一處著手後,與該處被對方下到後的差距」。

圖十:下到黑1的話,可以確保A的1個空點(1目)。

圖十一:如果被反過來下了白1的話,則誰也沒能確保A的空點,A成為沒有意義的點「單官」,日文裡說「沒意義、不行」的用語「駄目」,就是「單官」一詞的日語。

圍棋

圖十與圖十一的差是A的一點之差,因此圖十的黑1與圖十一的白1叫做「一目棋」,圍棋的所謂大小是這樣得來的;但在實戰,還要兼顧全局的「死活」的狀況,許多局面無法單純換算成數字,但若能很明顯地呈現「大小」的數字的話,對於下棋的人而言,就求之不得。例如:

如圖十二般的局面,A是後手三四目大的棋,已告確定,但其他著手的價值卻未能確定;從經驗上來看,這個局面的三四目,被認為是比其他的手還要「大」。

圍棋

幾乎所有下棋的人都會下A。

但在實戰時,很少像這樣在局部就完結的例子,大小無法很明白地用數字表現出來的情形比較多;但職業棋士事實上在腦裡有個約略評估的數字,然後繼續下下去的;圍棋除了死活成為問題的局面以外,大半對弈的局面是以「大小」占思考的中心;以明白的數字來呈現的大小,跟死活一樣,是局部完結的問題。

人類下棋需要理由——AI下棋只靠機制產生

人類常以「這手是○目」、「這手是○○目」為理由來著手,但是AI從來不作這樣的計算,和死活同樣,AI的道理只有一個——因為這樣下比較容易贏。

拿死活來比喻現實生活的話,是「生命安全」,而大小則可以說是「勞動代價」。沒有救生索,又不知時薪多少的話,誰也不會去做打掃大廈窗戶的工作。就像我們平時最在乎安全跟薪資一般,下棋的人是以死活與大小問題為中心在下棋。

死活與大小可以說是圍棋最基本的單字與文法,而電腦圍棋卻無法認知,我一直認為這是圍棋AI最大的弱點,當然也是最需改善的罩門。

AlphaGo在跟李世乭之戰前,公開的棋譜的綜合能力,的確非常厲害,但若還在用蒙地卡羅法的話,局部認識的機能的弱點是無法解消的,一百萬美元的獎金不用說是李世乭的吧!無法辨認死活及大小,怎麼可能贏李世乭呢?我的棋士生涯,讓我只能作這樣的判斷。

形勢判斷的重要性遠大於「算棋」

就如前面所介紹的一樣,結果深層學習帶著AlphaGo飛越人類的頭頂。

圍棋比想像的還要寬廣,AlphaGo擁有遊刃有餘的計算能力,棋盤廣大到讓它即使懷著缺陷,卻依然能悠悠踏步,有轉圜餘地,迴避自己的缺陷。

Master看來對算棋更有信心,棋風比AlphaGo更為強悍,AlphaGo盡量不去踩自己的弱點而造成陷阱;Master對付自己的弱點,像是隨便踢開腳邊的小石頭,一點都不會令人擔心。

原來下棋必須要有「死活」與「大小」的概念,這個前提是錯誤的;「死活」與「大小」若是人類下棋的語言,如果能「以心傳心」的話,就不需要多說話;我終於想通了,圍棋AI並非無法認識「死活」與「大小」,而是沒有必要用局部的概念去認識而已!

圖十三:Master持白棋,對於黑1,白棋放著右上七子不管,2、4、6埋著頭連下上邊,接著8、10低位渡過,對黑棋也不是具有威脅性的手段,黑11罩,白七子被吃了,但從結果而言,形勢其實白棋並不壞,這雖不能說是到了驚異的判斷程度,但要是我,因為無法正確地算出大小,也就無法這麼簡單地捨棄這七子。

圍棋

經過長期深層學習訓練後,累積三千萬局數據收集對局(現在說不定又多好幾倍)與無數自我對戰學習的經驗,作每秒一百萬局的高度模擬;當電腦擁有這樣的能力時,把棋盤當作一個整體來處理,其實正是非常符合圍棋的本質的方法。

人類因為無法這樣處理,只能就解析「局部」得到的資訊,再根據這些資訊來作綜合判斷,除此之外別無其他方法。今後圍棋AI下的棋,對人類而言,雖然非常具有參考價值,但人類遭遇未知局面時,必須對於各個「局部」賦予意義後,再作全體的判斷,人類的這種思考傾向是無從改變的。

以人類可能達到的圍棋水平而言,AI的表現告訴我們,比起堆積意義的「算棋」,無從捉摸的「形勢判斷」是重要太多了,而從棋盤全體直接判斷形勢,正好成了AI的最強項,其正確性與速度,把人類遠遠拋在後面。

就像有人相信世界是以有理數(算棋)來構築的,但後來發現、有理數不過是浮在無理數(形勢判斷)之海上的藻屑而已,而人類終究無法測量海有多深,只能對著眼前的藻屑望洋興嘆。

書籍介紹

本文摘錄自《迎接AI新時代:用圍棋理解人工智慧》,遠流出版

*透過以上連結購書,《關鍵評論網》由此所得將全數捐贈兒福聯盟

作者:王銘琬

認識AI(人工智慧)最前線,王銘琬為你做最佳嚮導!2016年3月韓國棋王李世乭與AlphaGo的一戰,人類敗北後,世界開始認真面對AI(人工智慧)時代的來臨!AI可能提高生活品質,也將可能擠壓人類的生存空間,認識AI最前線的圍棋AI,是思考人類如何面對AI的第一站!

一位頂尖職業棋士全力揮棒的報告書:王銘琬是世界唯一參與圍棋AI開發的一流棋士,詳盡敘述圍棋AI的過去、現在,並以職業棋士觀點提示人類如何因應與AI共存的未來,因為此刻「未來還掌握在人類自己的手裡!」

王銘琬 迎接AI新時代:用圍棋理解人工智慧
Photo Credit: 遠流出版

責任編輯:翁世航
核稿編輯:潘柏翰

或許你會想看
更多『評論』文章 更多『科技』文章 更多『精選書摘』文章
Loader