麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)

明天就是除夕了,春节就在眼前,独乐乐不如众乐乐 。
如果要选择一种声音代表新春佳节的团聚,除了噼里啪啦的鞭炮、杯盏相碰的清脆,一句“三缺一”和麻将桌上哗啦啦的搓麻声必定占有一席之地 。
麻将是一场概率游戏和策略博弈 。
麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)
文章图片
19世纪的麻将牌长这样(图源:Wiki)
故事还要从【清一色】讲起 。
先补充点背景知识 。标准麻将牌包含“筒”、“条”、“万”、“风”和“箭”五套花色,每种牌有4张是相同的 。4名玩家初始摸得13张牌,之后按照逆时针摸一张牌再打出一张牌,直到他摸到最后一张牌,14张牌可以凑成23333的排列组合,即为胡牌 。
麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)
文章图片
从上到下分别为“筒”、“条”、“万”(图源:Wiki)
用公式表示就是:m*AAA+n*ABC+DD 。m,n可以为0(理科生的脑回路真奇妙)
如果最终胡牌的牌面为同一花色,就叫清一色 。
一个叫李志光的数学家发现了一种有趣的牌形 。
【麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)】好牌(图源:Mathematical aspects of the combinatorial game “Mahjong”)
仔细看,你会发现下一张只要摸到的也是筒,不管是一筒到九筒中的哪一张,都可以胡牌 。这牌,只要一推倒,众人定有不明觉厉之感 。
至此开始,一个娱乐问题成功上升为科研课题,行话叫“k门问题” 。
用数学符号代表刚才的牌形,那就是X1X1X1X2X3X4X5X6X7X8X9X9
计算概率,大体的思路就是:尝试所有Xi的组合,然后检验每种组合是否符合k门的要求 。这样的重复性运算,交给Python程序就够了
麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)
文章图片
一段源代码截图
结果是这样的 。
麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)
文章图片
这个问题很实用了,理解了其中奥义,你也能拥有牌局的大局观 。来看看他们是怎么算的 。
首先需要用数学语言定义每一种牌形 。他们选择了一对数字(c, n),c表示花色,0为条、1为万,2为筒;n表示具体的数字 。比如(0, 3)就是三条,(1, 5)就是五万 。
麻将怎么玩(只要掌握这点概率学原理,你能多胡好几盘)
文章图片
(2,7)和(2,5) 图源:flicker
接下来设置一段数列V,即14个(c,n)的集合,用来表示完整的牌面 。这时你就可以用逻辑语言定义出胡牌(complete)的条件 。最后一步是设计一个变量,定量地表示牌面的好坏 。研究者引入了“缺牌数”的定义,也就是距离运算到胡牌状态,还差几张牌 。
接下来的运算结果请收好,这是一份科学的打牌秘籍 。(过年发财就靠它了)
基础版——清一色
1、如果你已经凑出了两个“3连”(包括刻子和顺子),且它们不连续,那么缺牌数小于等于2;
2、如果你的牌面是以下两种情况之一,那么缺牌数为3
5个对子+一个杠;
5个对子+1个刻子+1张单牌
进阶版——多花色
1、对于任意组合的一副牌,最大缺牌数为6 。要置换6张牌才能胡的牌面就是最烂的牌;
2、如果你的牌面是以下3种情况之一,那么缺牌数小于等于5
两个不连续的“3连”(包括刻子和顺子);
一个“3连”和一个“准3连”(只需要碰一下或者吃一个就能凑出刻子或顺子);
4个“准3连”
面对具体的牌面时,置换麻将牌的方案不止一种,此时需综合考虑缺牌数和胡牌成本,以及方案的可行性 。