那是一幅掛在牆上的畫。
一開始蕭是這麼以為的。
兩人經過時,隨著一陣熟悉的喀喀聲,蕭發現那真的是一張圍棋的棋盤,每個交叉點由一種可以翻轉的機關取代,可以將棋子放上或藏進棋盤裡。隨著機關在黑、白與空交叉之間轉換,棋盤就發出喀喀的落子聲。棋子落在實木棋盤上的聲音蕭再熟悉不過。
「您發現了。」學生停下來。「這是我在一次拍賣會上買下的作品。」
他發現蕭正在專心理解棋局,便收住了後面的話。
棋局落子的速度飛快,但並不是規則的,有些地方會停個五六秒,蕭便利用那空檔判斷局勢。
棋局異常複雜。
黑白棋子互相扭斷的地方有十多處,雙方都有幾塊棋尚未安定,但局面的焦點在打劫。那是一場漫長的劫爭。
「劫」的概念大致是這樣的:圍棋某個層面是一手棋可以獲取多少目的數學遊戲,但在存在「劫」的特殊場合,雙方都無法一手棋獲取那個地方的目數(價值),需要連續兩手棋。此時第一手棋稱為「提劫」;第二手稱為「消劫」。
假設局面上有K處有一劫爭,A先提劫,B可以在場面上其他地方(L處)落子,目的是迫使對方在L處回應,否則將蒙受句大損失。
假設A選擇在L處回應,此時就可以輪到B在K處提劫,換A需要在其他地方落子;假設B在L處落子時A選擇在K處消劫,B則可以繼續在L處落子,獲取L處的利益。此時劫爭結束。
劫爭是一場博弈,考驗雙方對局面的估量,與對局部價值的判斷。在劫爭中局面上與L處相似的點稱為「劫材」,是可以拿來交換、牽制對手的材料,雙方擁有的劫材數量與性質是左右劫爭勝負的關鍵。
那是一場漫長又複雜的劫爭。
雙方各自都擁有大量的劫材,由於雙方的差距細微,蕭判斷,任何一方在劫爭中取勝都將以微弱的優勢取得勝利,因此沒有一方願意放棄這個劫。
隨著劫材的消耗,蕭注意到一件有趣的事:找劫與應劫的棋子正在緩慢改變棋盤的地貌。
這是可能發生的現象,但並沒有常見到有可以稱呼的名字。
一般來說,找劫與應劫的這兩手棋是必然的交換,只會將棋局定型化。但在手數極多的場合,它們最終累積起來的結果會緩慢改變棋盤的地貌。換句話說,藉由劫爭維繫的微妙平衡被打破,棋盤上的其他地方變得更加重要。
於是雙方放棄爭劫,開始在棋盤的其他地方爭奪。
隨著戰鬥蔓延,新的劫爭形成,而且是個比上個劫更加複雜的,類似萬年劫的棋形,就在蕭以為即將形成三劫循環而和棋之時,白方竟主動放棄一處的劫爭,進行大規模的棄子轉換,轉換後局面出奇細微。竟是半目勝負的官子爭奪。
雙方迅速收完大官,進入小官子的階段,局面的關鍵聚焦在一處單片劫上。
單片劫是最簡單的一種劫,劫爭的勝負不會牽動其他地方,只有一目棋的獲利。
然而現在的階段,那一目棋就是勝負。
雙方開始了第二次漫長的劫爭。蕭全心投入其中,竟不由自主地感到一種無氧的力竭,那是體育選手不斷延時加賽時會進入的狀態,衣服被汗水反覆濕透又曬乾,努力在對手倒下前再次將球打回去。
但比賽並沒有進入到正.常.的軌道。
狀況是這樣的:此時白方在實地上有些微的優勢,這導致白棋其實不一定要打贏這個劫,只要在局面上收兩個單官,一樣可以以半目之差贏下這盤棋。而對於黑方而言,這個狀況顯然是絕望的,但還有一絲希望,就是憑藉劫材有力,強行撐住每一個單官。這代表白棋每收一個單官,黑棋也得收一個,以維持實地的均衡。同時黑棋還要撐住唯一的單片劫不讓白棋收走。
這稱為「粘劫收後」,是只有在數子法規則下才能成立的技巧,這種狀況下每個單官都將成為白棋的劫材。非常極端,但如果劫材有利,白方只能眼睜睜看著這種情況發生。
隨著單官一一被填上,就在蕭以為即將分出勝負時,白棋竟重新在黑地內落子,那些殘子形成的陣勢竟跟黑棋的棋子交纏在一起,隱隱形成對攻之勢。
原來白棋的目的在這裡。
黑方要將所有單官填上,代表黑棋的氣會更為緊縮,白棋就可以藉由要脅跟跟黑棋對攻或形成雙活,產生更多劫材來與黑棋抗衡。突然產生出這麼大量的劫材,就在蕭以為黑棋要潰敗之時,白棋的領地內竟然也發生了同樣的狀況。
蕭感到一陣頭暈目眩,遂將目光暫時從棋盤上移開。
學生誤會了蕭的肢體語言。「想必老師對這種花俏的玩意不感興趣吧。」
「不會不會,我覺得挺有意思的。不過,這應該不是人類下出來的吧?」
「是的。這是AI的自戰棋譜,這幅〈蓮花-1079〉總共有1079手,是所有《蓮花》系列作品中手數最長的一幅。也是目前金氏世界紀錄中,高水準對弈下手數最長的棋局。」
1079手。蕭極為震驚。
1079是什麼概念?目前人類職業棋手在比賽中的最高紀錄是400多手。圍棋棋盤只有361個格子,要在這上面反覆提掉多少個棋子,才能達到這個數字?
「電腦紀錄了實時的自戰過程,您也知道AI下棋極快,儘管如此,全部下完也花了三個小時的時間。棋盤經過加速,儘管如此播完一輪也要2分58秒。」
牆上〈蓮花-1079〉還在喀喀作響,然後突然間停了下來。
如果它不是剛好在這時播放完畢,可能也不會有後面的事。
蕭回頭,發現棋盤上的棋子少了很多,但並不是開局,是盤下到一半的棋。
蕭還看得出來,下棋的雙方水準並不是很高。
「這是怎麼回事?這盤棋是從一半開始下的嗎?」
「這我也不是很清楚,據說《蓮花》的作者是在偶然間製作出這批棋譜的。」
下課後回家的路上,蕭拿著學生給的名片,播通了對方的電話。
§
聖凱是個健談的人,IT工程師,圍棋業餘愛好者。
我們約在一間他家附近的咖啡店。
客人看起來大多是社區住戶,裝潢時髦但內斂。
或許這件事在電話裡就能解決,但我們都是比較老式的人,喜歡煞有介事地來。更直接的原因,可能這時代懂圍棋的人真的太少了。
寒暄過後我切入主題,向他表示我很好奇《蓮花》的由來。
「那是我家的圍棋AI下出來的。」他笑笑。
我詢問是哪一款AI,他說了一個很常見的名字。
「配置我不記得了,應該是兩、三年前網路上抓的。」
我更好奇了,問他到底是用什麼方式訓練,才能產生出這麼長的棋譜?
他又笑了笑,那笑像是在說等你聽完了,就像是魔術被揭穿那樣,沒什麼大不了的。
「我平常在網路上下完棋會用AI覆盤,看看自己哪裡下的不好。另外就是,因為職業的關係,我偶爾也會開AI的後台,自己調整一些參數玩,比如貼目之類的。有天正在做這樣的事,突然有要緊事,我電腦開著就出門了,回來才發現電腦上的AI跑了一整晚,我好奇看了看它到底徹夜在研討什麼,弄了半天,才發現我走的時候大概是按到鍵盤,改到了AI的設定。」
聖凱停下來,喝了口水。
「改到的是勝率與目數的設定,你知道星陣吧?」
我當然知道。星陣是一款中國研發的圍棋AI,最大的特色是不僅追求勝率,還追求要贏到最大的目數。或許就是因為這樣它才在最強AI的對決中落敗。不過這特色也讓它多了點人味。
「那就好說了。我發現它的勝率被設定在了50%。換句話說,黑白雙方都不斷追求維持在50%的勝率。如果有一個43%跟一個52%的選點,它會選52%;如果52%跟62%,它會選52%,這樣你懂嗎?」
我說不出話,嘴巴睜得老大。
只要任何一方領先,就刻意放水,如此交互反覆,才達成破千手的對局嗎?我花了兩天的時間研究,竟然沒發現AI有放水。
「那盤棋就是《蓮花》1079號,好笑的是那盤棋前半段是我下的,所以你才會看到那個奇怪的初始局面,應該看得出來是業餘的棋吧?」聖凱苦笑。「但神奇的是,這盤棋卻是我我所有算出來的棋局裡最長的。我後來用同樣的設定讓AI從頭開始跑,卻怎麼樣也跑不出更長的棋局。」
我沉思了一下。
「是不是這樣:有某些特殊的『路徑』或者說是『通道』能通往破千手的超長對局。我仔細研究了1079號,裡面有些局部的變化巧妙更甚《玄玄棋經》,幾乎達到《發陽論》的水準,那種局面不可能隨便製造出來,一定要有一連串的巧合,或者說是擾亂局面的變數,我猜,你跟網友的棋正好就起到了這種擾亂的作用。」
「就像《天龍八部》裡,虛竹矇眼亂下正好破解珍瓏棋局那樣嗎?」
「差不多那種感覺吧。」
隨後我們真的就像魔術表演後散場的觀眾,無言地各自離去。
回家的路上我思索著1079號棋局。夜幕逐漸低垂,路上買菜回家的人、下班的上班族、放學的學生,各自投奔自己的所在。我想像深夜亮著的螢幕上AI獨自演算的棋局。那棋局的繁複有如一個朝代的興衰;棋子蔓延,旋即被提光,然後提吃的土地上落下新的棋子,如千百年的星移斗轉,滄海桑田;黑棋最後三百手的緩慢落敗像是古羅馬帝國的衰亡,最終繁花落盡,蓮花開落。
我再次感到對AI的崇敬,以及對圍棋的崇敬。
然後我想到這一切竟然只是被放在一個方框裡,只是有錢人家的藝術品。
天已經完全暗了下來,我抬頭看天,試著在深藍的天穹裡辨認小時候學過的星圖,然後越發覺得在這時代,當一個人類圍棋老師的意義到底是什麼呢?