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

AlphaGo下棋不懂「死活」與「大小」怎麼可能贏?原來這個前提是錯的
Photo Credit: Reuters/達志影像

我們想讓你知道的是

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

文:王銘琬

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

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

圍棋

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

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

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

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

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

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

圍棋

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

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

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

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

圍棋

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

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

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

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

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

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

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

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

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

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

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

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

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

圍棋

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

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

圍棋

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

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

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

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

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