本文轉自| 把科學帶回家
微信號|steamforkids
撰文|比鄰星
獨樂樂不如眾樂樂。
如果要選擇一種聲音代表新春佳節的團聚,除了噼裏啪啦的鞭炮、杯盞相碰的清脆,一句“三缺一”和麻將桌上嘩啦啦的搓麻聲必定佔有一席之地。
麻將在不同段位的玩家眼中代表着不同維度的世界。入門級小白只專注於面前的牌,久經沙場的老手更有大局觀,心中裝着整個牌桌的乾坤。而在一名理科生眼中,麻將是一場概率遊戲和策略博弈。
19世紀的麻將牌長這樣(圖源:Wiki)
還真有數學家發表了關於“麻將數學”的研究論文,不僅編寫程序計算胡牌的概率,更是致力於開發AI打麻將的技能。當然,機器人怎麼打麻將倒是後話了,對於各位玩家而言,這些研究最大的價值在於能給麻將桌上的牌局以“專業”的理論指導。
故事還要從清一色講起。
先補充點背景知識。標準麻將牌包含“筒”、“條”、“萬”、“風”和“箭”五套花色,每種牌有4張是相同的。4名玩家初始摸得13張牌,之後按照逆時針摸一張牌再打出一張牌,直到他摸到最後一張牌,14張牌可以湊成23333的排列組合,即為胡牌。
從上到下分別為“筒”、“條”、“萬”
(圖源:Wiki)
用公式表示就是
m*AAA+n*ABC+DD m,n可以為0
如果最終胡牌的牌面為同一花色,就叫清一色。
一個叫李志光的數學家發現了一種有趣的牌形。
好牌
(圖源:Mathematical aspects of the combinatorial game “Mahjong”)
仔細看,你會發現下一張只要摸到的也是筒,不管是一筒到九筒中的哪一張,都可以胡牌。這牌,只要一推倒,眾人定有不明覺厲之感。
這樣的牌形叫“九門”(Nine Gate), 李志光隨後聯想到,類似的“八門”、“七門”、“六門”……都有什麼樣的牌形,哪種出現的概率更高?
至此開始,一個娛樂問題成功上升為科研課題,行話叫“k門問題”。
用數學符號代表剛才的牌形,那就是
X1X1X1X2X3X4X5X6X7X8X9X9
計算概率,大體的思路就是嘗試所有Xi的組合,然後檢驗每種組合是否符合k門的要求。這樣的重複性運算,交給Python程序就夠了。
一段源代碼截圖網址鏈接:
https://cklixx.people.wm.edu/mathlib/Mahjong.py
結果是這樣的。“九門”的組合有且僅有一種,它出現的概率為0.000113;八門有16種;一門的組合則有14067種,出現的概率是0.148。
k門問題只是個開始,發現能用數學方法研究麻將,另一個團隊也躍躍欲試。他們關注到的問題是——如何判斷距離胡牌還差幾張牌?研究結果整理為論文《來玩麻將啊!》(Let’s play Mahjong!)
都是科研論文,這篇的畫風就很可愛
這個問題很實用了,理解了其中奧義,你也能擁有牌局的大局觀。來看看他們是怎麼算的。
首先需要用數學語言定義每一種牌形。他們選擇了一對數字(c, n),c表示花色,0為條、1為萬,2為筒;n表示具體的數字。比如(0, 3)就是三條,(1, 5)就是五萬。
(2,7)和(2,5) 圖源:flicker
接下來設置一段數列V,即14個(c,n)的集合,用來表示完整的牌面。這時你就可以用邏輯語言定義出胡牌(complete)的條件。
最後一步是設計一個變量,定量地表示牌面的好壞。研究者引入了“缺牌數”的定義,也就是距離運算到胡牌狀態,還差幾張牌。
接下來的運算結果請收好,這是一份科學的打牌秘籍。
基礎版——清一色
如果你已經湊出了兩個“3連”(包括刻子和順子),且它們不連續,那麼缺牌數小於等於2;
如果你的牌面是以下兩種情況之一,那麼缺牌數為3
5個對子+一個槓;
5個對子+1個刻子+1張單牌
進階版——多花色
對於任意組合的一副牌,最大缺牌數為6。要置換6張牌才能胡的牌面就是最爛的牌;
2. 如果你的牌面是以下3種情況之一,那麼缺牌數小於等於5
兩個不連續的“3連”(包括刻子和順子);
一個“3連”和一個“準3連”(只需要碰一下或者吃一個就能湊出刻子或順子);
4個“準3連”
面對具體的牌面時,置換麻將牌的方案不止一種,此時需綜合考慮缺牌數和胡牌成本,以及方案的可行性。
舉個栗子,如果你的牌面是這樣的,那麼你可以考慮3種搭配方案
先把牌碼上,看起來順眼一些。
第一種方案裏,“準3連”B1B3還差一張B2(二條),但是整副牌中已經沒有多餘的二條,因此這種方案無效。方案二和方案三都是可行的,但是方案三的缺牌數更小,所以更優。
作為中國的經典傳統遊戲,麻將的玩家覆蓋率在整個遊戲江湖遙遙領先。不同地區有不同的打法。幾分技巧、幾分運氣,還有好幾分的樂趣。這種獨特的牌類遊戲也慢慢漂洋過海,傳入了包括歐美國家在內的世界許多地方。還有研究證實,麻將的益智作用有益於阿爾茨海默病患者。
美國的娃們在課外活動課上學習打麻將
(圖源:Wiki)
當然,專業的科學家費勁編寫程序來還原麻將的遊戲規則,初衷倒不是為各位玩家搞一套打牌指南,而是為了開發人工智能。畢竟圍棋高手阿爾法狗和阿爾法零相繼橫空出世,麻將高手機器人也指日可待。
問:圖中有幾個人在打麻將?
(圖源:unsplash)
各位麻將高手,你期待和機器人PK的那天嗎?
寫完此文,考慮到實踐是檢驗真理的唯一標準,小編鄰座的小哥默默把家裏的麻將牌拿到了公司。