筆者多年前混跡於百度圍棋吧。某日,隔壁五子棋吧的吧主來串門,發貼提問:

「五子棋的終局條件是一色的棋子連成五個,那麼請問圍棋的終局條件是什麼呢?」

棋友們紛紛表示,這還不簡單,沒棋下了就終局唄。

「那麼,請問什麼叫『沒棋下』呢?」

這下把棋友們問住了。在圍棋愛好者眼裡,「沒棋下」的情形一般是這樣的:

全局的邊界都已確定的情況下,對於棋手來說確實是「沒棋下」了。但是,倘若此時白方不承認終局,繼續在A位或B位等處落子,是完全合規的。在實際對局中,黑白雙方各自放棄行棋權利,才使得棋局中止,進入勝負結算流程。換句話說,在實際操作中,圍棋的終局條件是「兩棄」,即黑方、白方連續棄權。

然而,兩棄實質上是一種提前終局的協議,並非圍棋終局的本質。某方放棄行棋權利的原因是認為行棋無法帶來任何收益,而非規則的限制。現實中的棋局通常不超過三百手,有記錄的最長職業棋局也不過四百手。而在理論上,長度超過一萬手、一百萬手、一億手,乃至更長的棋局,都可以被輕易地構造出來[1]——比如用最笨的辦法,黑棋一直走棋,白棋一直棄權,直到黑棋差一手填滿棋盤,然後白棋一手把黑棋提光,餘下空空的棋盤,白棋繼續填,以此循環。這樣的過程通常不會違反任何明文的規則。由此可見,如果不採用兩棄這一項君子協定,一局圍棋根本無法「正常」終局。

與圍棋不同,其他流行的棋類遊戲大多不依賴君子協定終局,而是在基本規則層面上就有明確的終局條件,舉例見下表。

這些遊戲的終局條件大致又可以分為兩類。一類如象棋,當對方沒有合法著數時,棋局即中止。在象棋中,沒有合法著數一般指無法保護己方將帥/國王。中國象棋一方欠行或將死均告負,而國際象棋欠行則造成和局,僅將死告負。以欠行為典型終局條件的遊戲還有如西洋跳棋、抓三堆(Nim)等。另一類遊戲,如軍棋、五子棋等,則以某個明確目標為典型終局條件。五子棋的五星連珠、軍棋的奪走軍旗,都是再明確不過的勝利條件。

縱觀古今中外的各種抽象策略遊戲,筆者竟找不出第二種像圍棋這樣,缺少明確終局條件的遊戲。從這個意義上說,圍棋是「君子」遊戲。如果你的對手不「君子」,那麼一盤棋根本就無法結束。

早年QQ遊戲大廳裏的圍棋遊戲缺少反賴皮機制,「老賴」們在瀕臨輸棋的時候以填子拖延時間,老實的棋友們深受其害。職業棋手也並非都是君子。2010年廣州亞運會混雙比賽,韓國的樸廷桓/李瑟娥組合對戰中國棋手時,在棋局「應當」以君子協定兩棄終局的情況下,選擇繼續在無意義的地方行棋。因為混雙比賽採用包乾制,中國組合的用時所剩無幾,韓國組合只需保持「時間攻擊」,便有望耗盡中國棋手的時間。好在主裁判即時行使兜底條款,以規則禁止「攪局」為由制止了韓國組合。樸廷桓、李瑟娥也並非無賴,在裁判制止後立即決定認輸。

即使人類棋手不夠君子,也知道何謂羞恥。但人工智慧是沒有道德感的。當「填子事件」在人工智慧身上重現時,結果就反過來了。2019年「博思杯」2019世界人工智慧圍棋大賽預選賽最終輪,中國的「弈小天」對陣韓國的「小愛圍棋」,用時制度是和亞運會混雙比賽一樣的包乾制。棋局幾經反覆之後,小愛圍棋大勢已去。然而臨近終局之時,小愛圍棋匪夷所思地送喫己方大塊棋子,與亞運會韓國組合填子的手法類似。弈小天時間幾乎耗盡,操作者無奈聲明放棄行棋。主裁判以「不得幹預人工智慧行棋」為由判弈小天負。與人類棋手清晰地瞭解「填子」不合基本圍棋禮儀不同,人工智慧「填子」完全可能是正常行棋。因此,沒有任何實際證據表明小愛圍棋團隊蓄意使用「時間攻擊」,從而沒有理由處罰韓方。

沒有明確終局條件這一「君子」特性,給圍棋人工智慧的開發者帶來的困擾又何止「填子」一事?AlphaGo Zero的訓練有一條規則限制,就是一局棋不得超過七百手。若不是這條限制,誰知道狗狗的左手和右手會不會互搏到程序猿的斧頭柄爛掉。即使有手數限制,AlphaGo Zero早期的訓練譜也是下到整張棋盤幾乎填滿為止。毫無疑問,人工智慧不喜歡君子協定式的規則,而只能適應能明確轉化為邏輯語言的規則。

當然,知乎的某個人工智慧似乎是個例外。它非常喜歡諸如「持續發布不友善內容、抱團騷擾持續攻擊他人」這樣定義不明、有極大操作空間的規則,把它不喜歡的人關進小黑屋,從而保護它特別喜歡的知友。這是強人工智慧對弱人工智慧的降維打擊。

對於(絕大多數)人工智慧來說,幸運的是,至少在理論層面上,圍棋是有一條明確終局條件的。這條規則就是本系列文章將要展開討論的「禁止全局同形反覆」規則,簡稱禁全同。

  1. 參見 @終軍弱冠 zhuanlan.zhihu.com/p/56

推薦閱讀:

相關文章