日前,柯潔做客央視訪談節目《朗讀者》。在表明不懼與 AlphaGo 一戰的決心之後,柯潔朗誦了《哈利波特與死亡聖器》的選段“百密一疏”。
(題圖來源:朗讀者 - 柯潔_弈味天然_新浪博客)
......
一道紅光劃破了他們頭頂上被施了魔法的天空,就好像耀眼的陽光掠過窗台從離他們最近的窗户裏射進來,同時照亮了他們兩人的臉,伏地魔的臉看起來就像燃燒了一般,與此同時,哈利用德拉科的魔杖指着空中,他聽到兩聲最高分貝的、注入了全部的期望的叫聲同時響起:
“阿瓦達索命!”
“除你武器!”
隨着猶如大炮一般的巨響,金色的火焰從他們兩人的魔杖中噴發出來,就在兩人剛才踩過的生死圈的中心,咒語衝撞在了一起。哈利看到了伏地魔的綠色魔咒碰到了他自己的魔咒,看到了長老魔杖高高地飛起,在日出的映襯下,劃過施了魔法的天花板,就像納吉尼的頭。它從那個夢寐以求想要擁有它的人的方位劃過。而後哈利,做為一個出色的找球手,在伏地魔倒地的同時用他空着的一隻手抓住了那根魔杖——而伏地魔雙臂張開,猩紅的眼睛裏的瞳孔張開翻了起來。湯姆·裏德爾死了,以最平凡的樣子死掉了,他的身體綿軟地收縮在一起,雙手空空,蛇一般的臉慘白空洞。伏地魔死了,被他自己的咒語彈回去殺死了,哈利握着兩根魔杖站在那裏,低頭看着地上那敵人的空殼。
柯潔選讀這一段,除了將自己代入哈利的角色之外,還另有用意。伏地魔被自己的咒語彈回去殺死,柯潔可能也在計劃用同樣的辦法擊敗 AlphaGo.
早在今年初,AlphaGo 化名 Master 在網上大殺四方之後,柯潔就發微博説,“若不是住院,我將用上那準備了一個星期的最後一招。” 兩天以後,柯潔在野狐網上對戰國產圍棋 AI 絕藝,祭出模仿棋。
本局棋譜圖片來自(柯潔好調皮,又搞模仿棋 -------- 咦?為啥要説“又”? - 野狐圍棋論壇 - 野狐圍棋網 - Powered by Discuz!)
本局絕藝執黑。執白的柯潔在前十六個回合完全模仿黑方的招法,直至第 34 手才變招。
隨後柯潔在混戰中出動棋筋,一擊絕殺。
之後絕藝拒絕再下模仿棋。開發團隊可能清楚這一弱點,但暫時不準備修復。
前幾天,柯潔自稱用“非常手段”終結了對絕藝的十四連敗。看下面這張棋譜,赫然又是模仿棋。
模仿棋究竟有何威力?柯潔用模仿棋能否打敗 AlphaGo?DeepMind 團隊又會以哪些手段反制?接下來本文將詳細分析。
一、黑方模仿棋
本段落內容部分參考 Mirror Go at Sensei's Library。
模仿棋,一種圍棋戰術,以模仿對手的棋路為主,依照對手落子的位置,在對稱的鏡像位置落子。相傳最早使用這種戰術的人,是中國北宋時的蘇東坡,因此古稱東坡棋。日本豐臣秀吉也喜歡使用這種戰術,因此在日本又稱太閣棋。
説來你可能不相信,有完整棋譜記載的第一個下模仿棋的人,竟然是吳清源。1929 年,吳清源初到日本不久,與木谷實對局。這兩位日後揚名立萬的大棋士,初戰卻顯得有點滑稽。局前,吳清源還特意四處詢問“第一手下在天元是否符合日本圍棋的禮節”。
然後,執黑的吳清源就開始了模仿之旅。需要説明的是,當時的日本圍棋規則是不貼目的。也就是説,如果木谷實拿不出任何反制手段,那麼吳清源通過模仿,至少也能逼和木谷實。木谷實也因此十分苦惱,在局中數次向裁判抱怨。裁判表示為難,因為模仿並不違反圍棋規則,只能告知木谷實,看幾回合再説吧。
這一看就到了第 65 手。吳清源終於結束了模仿,但棋盤上餘下的空地也不多了。不過,年方 15 歲的吳清源棋藝尚不純熟。在餘下的棋局中,執黑的吳清源連連犯錯,最終以 3 目負作結。
木谷實雖勝,並未有效破解模仿棋。一個簡明破解黑模仿棋的辦法如下圖:
白方圍繞天元製造了一個對殺,利用黑天元一子自緊一氣,快一氣殺死黑方。在《棋魂》中,塔矢亮的同學奧村請求受先與塔矢對局。奧村執黑走天元之後開始模仿,接着被塔矢亮以如圖的方法擊潰。
當然,這個破解法的問題大大的。白 1 以下的招法,按照一般的棋理,極不自然。黑方若有所洞察,則可以停止模仿、順勢反擊,讓白方得不償失。因此,這種破解法僅限於白方棋力高出黑方很多的情況。
然而,自從圍棋有了貼目,黑方模仿棋就不再可行,以致於漸漸絕跡。最近一次見到黑方模仿棋,是台灣“紅面棋王”周俊勳對戰 Master 的網棋。結果執黑的周俊勳在中盤終止模仿,形勢已然不利,最終敗北。
二、白方模仿棋
作為一個回合制遊戲,圍棋的先手方優勢是很明顯的。因此我們有了貼目。在貼目為 6.5 目 /7.5 目的當下,黑方模仿棋乃是快速取敗之道——由於棋局的主導權完全歸於白方,白方可以輕易將黑天元一子變成廢棋,從而抵消黑方的先手優勢。
但是,既然有貼目兜底,白方反其道而行之,模仿黑棋的招法,是否可行呢?
也許你馬上就能想到破解的辦法:在發現對方模仿時,走天元行了嘛。沒錯,這的確是簡單可行的辦法。網絡上流行的單機版圍棋 AI, 天頂的圍棋 6(以下簡稱“Zen6”),就是這麼下的。
Zen6 執黑時,如果檢測到前 5 個回合(10 手),白方都在模仿,則在第 11 手會直接佔據天元。
天元被佔,白方無法繼續模仿。但是,這未必是最好的策略。
如圖,白棋立即侵入右下黑方勢力範圍,將局面打散。到 22 為止,黑方天元一子光芒消散,先手優勢未充分發揮,白方滿意。
如果 Zen 能夠稍微調整一下,比如下面這一圖,
黑方在右下模樣初步成型以後再佔據天元,是破解模仿棋的最理想形態。在此局面下,天元一手是雙方勢力消長點。佔領了天王山的黑棋明顯好下。不過,白方在第 12 手時也因而可以考慮變招。所以白方模仿棋不是“無腦”模仿,而是對局雙方鬥智鬥勇的過程。
這裏引用網友“內含子”帖子中的一段:
嚴格地説,白模仿棋是一種嚴重的“條件模仿棋”,因為黑方(在不考慮勝負的情況下)可以隨時中止模仿棋--只要走天元即可。
如果黑棋不貼目,白棋不會選擇模仿,總是慢半拍自然有敗無勝。而貼目制下,壓力就在黑棋的一方。天元不是什麼時候都能走的。如果天元一步效率不高則會導致局面落後。另外還可以通過對角徵子對付模仿--只適用於白模仿棋。但不論是走天元還是造徵子,都要保證對方變招後自己不至於吃虧。這在實戰中很難把握。白棋一方壓力也不一定小,因為變招是遲早的事,掌握不好時機反而會虧損。總之,模仿棋中雙方的風險都很大。模仿棋的勝率也不高。
關於造對角徵子破模仿,請看下面這局棋
這局棋是 2005 年中國名人戰八強賽,黑方俞斌對白方王雷。前 84 手,白方完全模仿黑方招法,形成了左下和右上完全對稱的混戰,包括兩個徵子。黑方走出 85 時,執白的王雷發現,白棋已經不能繼續模仿了。
如果繼續無腦模仿,黑方恰好可以快白棋一步,全殲白棋。
於是白棋 86 終止模仿。至 98 手,雙方各自逃跑,棋局已不復對稱。至此局面優劣不明,據説是白棋稍好。其後雙方殺得天昏地暗,最終執黑的俞斌以 3/4 子的優勢獲勝。以此局的精彩程度,我認為是古今模仿棋第一名局。本局棋譜見http://www.go4go.net/go/games/sgfview/6283
三、針對 AI 的模仿棋
在 AlphaGo 實力恐怖、正常下難以獲勝的情況下,柯潔執白時使用模仿棋是最佳的策略,甚至可以説是取勝的唯一機會。相比人與人對戰的模仿棋,對戰 AI 下模仿棋有以下幾個額外的優勢:
1、AI“不知道”人在下模仿棋。
到目前為止,AlphaGo 未曾根據對手的不同而調整戰術。從 AlphaGo 的原理上看,策略網絡和價值網絡都只涉及 AlphaGo 自己對當前局面的判斷。在人類的對局中,如果意識到對手在下模仿棋,棋手可以主動控制棋局流向。要麼製造對角徵子,要麼圍大模樣、增大天元一子的價值。如果不加入像 Zen 一樣判斷模仿棋的代碼,AlphaGo 就意識不到對手在複製自己的招法。在此情況下,AlphaGo 能否將棋局導入對自己有利的軌道,需要打一個問號。
2、用時
對於人機大戰,AlphaGo 全無用時之憂,而人類棋手的時間總是不夠用。在模仿局中,模仿者的用時遠小於被模仿者。被模仿者考慮的總是要更多,而模仿者在很多時候只需一秒落子,只需在被模仿者疑似露出破綻的時候考慮是否停止模仿即可。柯潔在前半盤節約下的時間,可以用到後半盤,和 AlphaGo 鬥官子。
3、撐到官子
説到鬥官子,DeepZen 在日前的電聖戰中,接連在官子階段犯下低級錯誤,對人類棋手拱手送出兩盤好局。絕藝的官子比 DeepZen 強很多,但也偶有送出好局的記錄。AlphaGo 尚未因官子失誤輸過棋,只是會把大優的棋變成半目勝而已。總體上看,AlphaGo 的前半盤比人類強太多,而官子水平如何,還有待進一步檢驗。之前 Master 在網上的 60 盤棋,人類基本上都是在官子階段前就大幅落後。如果能夠通過模仿棋撐到官子,至少能檢驗 AlphaGo 的官子實力。如果時間充足,勝利未必沒有可能。
四、工程師的反擊
柯潔可能要用模仿棋已經不是秘密。黃士傑博士應該早就知道這事。DeepMind 方面估計對此有所準備。不過,讓 AI 破解模仿棋並非易事。絕藝從 1 月首次被柯潔模仿棋擊敗,到前兩天再敗於柯潔,3 個月的時間尚未實現破解模仿棋的有效方案。因此以下的討論,純屬本人亂開腦洞。
方案一:無腦走天元
即單機版 Zen 採用的方案:若對方前 10 手都在模仿,則第 11 手直接走天元。這個方案很簡單,弱點也很明顯。首先,這不能保證天元的一手是好棋。如果天元這招恰好成了廢棋,棋局的天平就會倒向白方。另外,如此臨時(ad hoc)的解決方案,與 DeepMind 開發通用智能的遠期目標背道而馳。目測 DeepMind 不會用此方案。
方案二:設定佈局
既然對戰柯潔只有三番棋,而且知道柯潔要下模仿棋,那麼索性就人工設定佈局。開局走大模樣,最大化天元一子價值。等到合適的時候,AlphaGo 自然會判斷天元處最大,從而佔領天元,確立優勢。這個方案同樣也是臨時性的補丁,估計 DeepMind 也不可能採用。
方案三:黑科技
黃士傑博士曾説,他們曾按照 Nature 論文的那條路走下去,遇到了難以逾越的瓶頸。因此目前版本的 AlphaGo 應該在 v13 版本的基礎上有大規模的改動。(應該並不是傳説中的 AlphaGo2.0,即不用人類棋譜訓練的 AlphaGo。該版本的 AlphaGo 是今年的開發內容。)天知道現版本的 AlphaGo 上有多少未公開的黑科技。或許 DeepMind 能夠不打臨時性補丁,也能在柯潔下模仿棋的情況下吊打之。若果真如此,請收下我一年份的膝蓋。
五、小結
五月人機大戰,柯潔對 AlphaGo 三番棋,總比分取勝的機會非常小。如果單純比實力,柯潔甚至贏一盤的機會都不大。模仿棋,確實是柯潔能用的最後一招。有此招在手,勝負懸念猶存。是 AlphaGo 再封神,還是柯潔彈回 AlphaGo 的必殺咒語,還請各位期待五月。