鄙吝怎么读音 比邻怎么玩


鄙吝怎么读音  比邻怎么玩

文章插图
用概率战胜你的亲朋好友吧 。
撰文 | 比邻星
春节要玩好 , 独乐乐不如众乐乐 。
如果要选择一种声音代表新春佳节的团聚 , 除了噼里啪啦的鞭炮、杯盏相碰的清脆 , 一句“三缺一”和麻将桌上哗啦啦的搓麻声必定占有一席之地 。
麻将在不同段位的玩家眼中代表着不同维度的世界 。入门级小白只专注于面前的牌 , 久经沙场的老手更有大局观 , 心中装着整个牌桌的乾坤 。而在一名理科生眼中 , 麻将是一场概率游戏和策略博弈 。
鄙吝怎么读音  比邻怎么玩

文章插图
【鄙吝怎么读音比邻怎么玩】19世纪的麻将牌长这样丨图源:Wiki
还真有数学家发表了关于“麻将数学”的研究论文 , 不仅编写程序计算胡牌的概率 , 更是致力于开发AI打麻将的技能 。当然 , 机器人怎么打麻将倒是后话了 , 对于各位玩家而言 , 这些研究更大的价值在于能给麻将桌上的牌局以“***”的理论指导 。
故事还要从清一色讲起 。
先补充点背景知识 。标准麻将牌包含“筒”、“条”、“万”、“风”和“箭”五套花色 , 每种牌有4张是相同的 。4名玩家初始摸得13张牌 , 之后按照逆时针摸一张牌再打出一张牌 , 直到他摸到最后一张牌 , 14张牌可以凑成23333的排列组合 , 即为胡牌 。
鄙吝怎么读音  比邻怎么玩

文章插图
从上到下分别为“筒”、“条”、“万”丨图源:Wiki
用公式表示就是
m*AAA+n*ABC+DDm , n可以为0
如果最终胡牌的牌面为同一花色 , 就叫清一色 。
一个叫李志光的数学家发现了一种有趣的牌形 。
鄙吝怎么读音  比邻怎么玩

文章插图
好牌丨图源:Mathematical aspects of the combinatorial game “Mahjong”
仔细看 , 你会发现下一张只要摸到的也是筒 , 不管是一筒到九筒中的哪一张 , 都可以胡牌 。这牌 , 只要一推倒 , 众人定有不明觉厉之感 。
这样的牌形叫“九门”(Nine Gate) , 李志光随后联想到 , 类似的“八门”、“七门”、“六门”……都有什么样的牌形 , 哪种出现的概率更高?
至此开始 , 一个娱乐问题成功上升为科研课题 , 行话叫“k门问题” 。
用数学符号代表刚才的牌形 , 那就是
鄙吝怎么读音  比邻怎么玩

文章插图
计算概率 , 大体的思路就是尝试所有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)的条件 。
最后一步是设计一个变量 , 定量地表示牌面的好坏 。研究者引入了“缺牌数”的定义 , 也就是距离运算到胡牌状态 , 还差几张牌 。

推荐阅读