在圍棋上碾壓人類後,人工智能在麻將領域能夠戰勝人類嗎?


編者按:本文原創首發於「百度大腦」微信公眾號(ID:baidubrain),關注百度大腦,讀懂人工智能。

「深藍」19 步贏了卡斯帕羅夫,Watson 在智力問答中知識碾壓,AlphaGo 把李世石打狗帶了,後者一年不到重披「Master」之名把世界頂尖棋手們直接來了個六十連殺。棋類已經失守,羣眾將最後希望投向國粹麻將,中國大媽能否堅守這最後一道防線?答案大概是特別不能。

現在日麻 AI「爆打」準備要暴打人類了(它在日本曾打到天鳳七段)。至於你説靠眼神秒殺的這位同學,喔你想多了,我們 AI 都是在網上比賽的呢。不過麻將 AI 與棋類 AI 在開發策略上有所不同。而且運氣也是麻將的浪漫,這種浪漫「爆打」能懂嗎?

「百度大腦洞」專欄將帶你見識 AI 領域那些不可思議的研究。嚴肅點,我們 AI 要開始玩麻將了。

帶着 AI 去打麻將,能百戰百勝嗎?
作者:boshixiao

麻將、鬥地主、橋牌、德州撲克……未來都有希望看到這些項目對應的「最強 AI」,永遠能找到最優解的 AI 出現。

從人工智能 AlphaGO 在與李世石的圍棋對決中,以五局四勝,標誌着在人工智能的領域,AI 的能力距離超越人類,又往前邁進了一大步。

2017 年 1 月 6 日,又一個 AI 要挑戰人類選手了——科學家將百度大腦植入人工智能機器人「小度」當中,前去《最強大腦》第四季現場應戰,與《最強大腦》名人堂的選手們在人臉識別、聲音識別等領域進行三局兩勝的比賽。

棋類 AI 已經開始全面碾壓人類,甚至圍棋這種「不可遍歷」的算法,也開始靠着深度學習展現出其優勢的時候,我們不由得要思考,那些不那麼注重策略本身的競技項目,AI 是不是也會展現出別具一格的優勢?帶着 AI 去打麻將,能百戰百勝嗎?


麻將被國人視為中國的國粹(電視劇《解放》劇照)

麻將是靠技藝取勝的遊戲嗎?

只要手氣足夠好,不需要技術也能贏。是麻將遊戲中非常常見的情況。大部分人也常常將自己的勝利或失敗,歸於「手氣」,也就是運氣不夠好。

但運氣真的是麻將遊戲中的一切嗎?誠然,麻將是一種運氣成分佔比非常高的競技棋牌項目,技藝再強的高手,也有輸給菜鳥的可能性。但同時不可否認的是,麻將中「技藝高低」也是明顯存在的。


麻將技藝的高低,不僅僅存在於高手和菜鳥之間。即使是頂尖高手,日本競技麻將的高手段位中,在經過大量場數的競技之後,頂尖選手之間的分數差距,同樣可以穩定地被拉開,競技水平被顯著地區分開來。所以在麻將領域,研究出一個具有極高競技水準的 AI,是完全有可能的。

麻將 AI 的策略是怎樣的?

相比於棋類這樣在大多理論上可遍歷(通過計算機模擬出每一種可能的情況)的「完全信息動態博弈」,棋牌類項目, 因為很多情況下,你都不能知道對方手上的手牌,也不知道接下來會摸到什麼牌,所以更多的情況是屬於無法遍歷的「非完全信息動態博弈」。

也就是説,相比於棋類 AI,力求「將對手逼入必輸的岔路口」這個博弈目標不同,麻將 AI 的策略則更多地增加自己得點的期望值,儘量讓自己有更大的可能性和大牌,同時儘量避免對手的大牌點炮。而麻將的打牌策略,顯然是有最優解的。每圈棄牌的 14 個選擇裏,我們總可以找到我們當前認為最好的選擇,而高等的選手,和高級的 AI 要做的,就是儘量能多思考幾回合。


當代的計算機棋手大多采用的是「蒙特卡洛樹」搜索算法,策略是選擇或迫使對手選擇一個分支,這個分支下的所有的結局都是自己勝。AlphaGo 就是蒙特卡洛算法和深度學習的結合。

讓自己有更大的可能性和大牌,就需要通過手牌和棄牌池裏的牌,計算自己進張(摸到有效牌)和鳴牌(吃、碰、槓),使自己手牌有進展的概率,進而計算自己和牌得分的期望值。這對於 AI 設計來説實際上是很簡單的。


讓 AI 避免對手的大牌點炮相對要更難,一方面麻將 AI 需要通過大量的牌譜數據庫,來獲得通過對方打出的棄牌來分析其牌型的能力。這樣可以讓 AI 擁有在幾圈之前,就開始棄掉別家需要的關鍵牌的能力。

百戰百勝的麻將 AI 距離我們有多遠?

因為競技麻將這項運動的小眾性,麻將 AI 目前處於一個相當缺乏發展的階段。目前還沒有可以完全戰勝所有人類的麻將 AI,但這其中主要的原因是缺乏相關的研究。大多麻將 AI 都還停留在遊戲廠商的 AI 上,計算強度非常有限,無法與棋類 AI 動輒就在超級計算機上進行運行相比。

但麻將運動中,可執行的打法數量,實際上是遠小於圍棋的。因為畢竟手上只有 14 張手牌,一共也只有 136 張的總牌數。所以實際上麻將的複雜度,AI 運行所需要的計算量,實際上也是比 AlphaGO 這樣的圍棋 AI 要少很多的。


並且麻將有着相對明確的目標,有着相對少的和牌牌面,所以麻將 AI 實際上完全可以儲存大量的牌譜,然後在運算的時候,只要尋找對自己有用的牌即可,這樣可以減少很多的計算量。

目前最強的麻將 AI,是東京大學開發的日麻 AI —— 「爆打」。「爆打」在日本最大的線上麻將平台,天鳳上進行了 1.3 萬多場比賽,最高達到過七段的成績,這意味着「爆打」比 96% 以上的麻將玩家都取得了更好的成績。

日麻 AI 「爆打」對戰兩位天鳳六段選手和一位八段選手,自摸。

除了麻將之外的其他棋牌 AI

實際上,除了麻將之外,很多中國民間喜聞樂見的棋牌項目,對於開發 AI 來尋找最優解的能力,相比棋類 AI 程序來説,都要簡單得多。其面對的問題,同樣是因為這些項目中都包含了運氣成分,這使驗證 AI 的有效性變成了一個相當難的問題。相反,麻將還是這些項目中相對規範化程度非常高的一個,至少在日本,有着非常完善的 ranking 機制與平台。而因為驗證 AI 有效性很麻煩,所以也導致了這類 AI 開發的相對滯後。

而這樣的 AI 的作用是什麼,除了他們可以用來研究算法本身之外,棋牌 AI 所伴隨的棋牌類競技規範化,也是一個很重要的事情。但同時,我們還可能會看到的是,伴隨着棋牌類競技項目的賭博,可能也會開始依賴於 AI 催生出一個全新的產業。

鬥地主、橋牌、德州撲克…… 在未來我們都有希望看到這些項目對應的「最強 AI」,永遠能找到最優解的 AI 出現。


很多人都想不通,為什麼人類要研究一個僅僅是用來下圍棋的 AI,更不必説「打麻將」這件今天在中國完全不被當一個「正經」的事情對待的競技項目了。但他們很難意識到的是,AI 實際上代表了人類對這個世界,孜孜不倦的探求,和挑戰自我的精神。用來「打麻將」的 AI,我們創造它的動機,當然不是讓我們可以利用其功能,在麻將場上百戰百勝。而是我們通過麻將 AI 這件小事,使人類的智慧之光,得以在廣袤的世界中延伸,直到灑滿每一角落。

這是我們要探究這個世界上一切未知事物的源動力,包括卻不限於,創造一個永遠可以找到最優解的,麻將 AI。

參考資料:

  • http://matsuko1.com/archives/11

    在目前世界上最強的日麻 AI 「爆打」與包括日麻頂尖高手 ASAPIN 在內的一干日麻選手的對戰中,「爆打」雖然沒有在平均成績上取勝,但展現了相當不俗的實力。
  • http://ieeexplore.ieee.org/document/7317929 目前主流的麻將 AI 研究,基本都圍繞着如何在前期儘量減少自己的聽向,以及如何避免打出其他玩家的有效牌,炮子展開。
  • http://www.allevybridge.com/allevy/computerbridge/index.htm 除了麻將 AI 外,橋牌 AI 也是目前在國際上相對受關注度比較高的棋牌類 AI 之一。


資料來源:36Kr

如果喜歡我們的文章,請即分享到︰