麻将天和(天胡)的概率——约0.000003025 (约1/330530)
【前提条件】:使用的牌是普通的34种*每种4张=共136张。
其中不含会影响计算结果的特殊牌(例如花牌,百搭白板之类的)。
不采用异于通常和牌的特殊役(如十三不塔)。
【计算方法】
无法用简单的算式表示。虽然逐条详细的写出来也不是不可以,但是还是交给程序计算比较好。
如果单单使用判断全部的排列组合是否是和牌型这种方法,花费的将是天文时间。
采用的是下面的计算顺序。
(1)除去七对子和国士无双,和牌型中,字牌,万,筒,索的张数可能为0张,2张,3张,5张,6张,8张,9张,11张,12张,14张。
(2)根据上述的张数,计算字牌与数牌每种(n个面子+最多1个雀头)的排列组合数,这时顺便计算出所有牌都是对子的排列组合数。
(3)根据四种牌合计14张的组合,计算其排列组合数,不过雀头只能有一个,5张字,5张万,2张筒,2张索这种不可能发生的组合是不计算在内的。
(4)从上述的结果中,去掉形为七对子的牌型。
(5)计算七对子的和牌型的排列组合数。
七对子的和牌型排列组合数为34C7
包括重复的排列组合数为34C7*67
(6)计算国士无双和牌型的排列组合数。
国士无双和牌型的排列组合共有13种
包括重复的排列组合数为13*6*412
(7)加算上(4)~(6)合计的排列组合数(包括重复),可以计算出其概率。
总共的所有排列组合(包括重复)为136C14
(8)程序计算并没有花费太多的时间,可以确认程序是正常运行的。同样计算出(1)~(3)的所有排列组合数(包括重复)。计算字牌与数牌的0~14张所有的排列组合,四种牌合计14张的所有组合数。
【计算结果】
(2)的结果如下所示:
综上所述,天和的概率为:
12859078207674÷4250305029168216000
=约0.000003025 (约1/330530)
2.麻将跟数学、逻辑学有没有关系
那要看“境界”了。
如果只是无聊时打着玩,麻将与数学的关系不大,但也有关系。
但事实上,麻将高手必须要掌握非常深的逻辑和概率知识。特别是对于国家标准麻将等比较难的打法,更是如此。哪种方式最有可能获胜,哪种方式获得的收益最多,综合考虑采用哪种方式,都是需要认真考虑的问题。
那些对麻将抱有很肤浅、甚至很偏激想法的人,我实在是懒得跟他们解释什么。
如果楼主不信的话,可以学一下国家标准麻将。
〔天下无帅〕乐于解答。希望对楼主有帮助。祝成功!
3.麻将和各种牌型的概率
楼主的计算方法有误,不能简单的用某种牌型的张数除以麻将牌总数,那样的算法只能计算出这种牌在麻将中所占的比例。
正确的算法应该采用抽屉原理计算概率
以万子清一色的天胡、14张牌为例:
1、连续取得14张牌都为万子的概率为(36*35*34……*23)÷(136*135*134……*123)*100%
2、然而因为一副牌是4个人在打,有可能别人将你要摸的牌直接摸到了手里,所以概率在“1”的基础上还要除以4
3、同时,并不是任意14张牌都是万子就可以胡牌,还要组成相应的牌型,所以胡牌概率比“2”的结果还要小,因为胡牌的选择千变万化,无法具体统计,在这里难以计算
4、若忽略“3”的影响不计,胡万子清一色天胡的概率约等于(36*35*34……*23)÷(136*135*134……*123)*100%÷4=0.000000022%
单纯计算万子清一色的概率的话,因为即使自己摸不到所需要的牌,别人一样可以打出来让你吃或碰,概率会大大增加,而且自己也不必连续14张都摸万子,同样可以用其他牌代替,在打牌的过程中逐渐理清,概率会大很多,因为计算十分复杂,单纯的用数学公式是难以显示的,估计需要使用数学模型了,这个问题相信很多人都无法解决。
人在四川过年,免不了上桌打麻将,作为一个标准的麻将新手,上桌送钱是免不了的,当然在这个运七技三的游戏中,本民工居然还偶然有一天赢了一点点钱。
于是这个引起了本民工的好奇,实际上民工本人以前开发过斗地主外挂,还搞了三个麻将作弊APP还有配套的蓝牙硬件,有两个是用手机控制麻将出牌,有一个是用手机查看桌上所有人手上牌的(原理是用IC麻将牌)。
所以,一定要远离赌博,珍爱生命!
因为好奇加上正好过年有时间,本民工于是想用实现一个能够自打麻将的小程序,首先是使用图像识别的方法获取出牌和发牌信息,其实模拟按键 *** 作出牌,理论这样种采用图像识别的外挂是封不了的,因为图像识别对本民工来说完全不是事儿,大概2007年时间,已经有一样的方法做了一个自动偷菜外挂。所以难点就只在麻将出牌AI和攻防AI上了,然后先查询了一下当前麻将AI的现况,好象当前基本是采用“有限状态机”和 博弈树alpha-beta 来,实现水平还没有达到人类顶级高手。当然既然已经有了在围棋上大杀四方的狗,麻将应该也不远了,当然狗用的是Deeplearning来做,正好Deeplearning也正好是本民工在玩的东西。所以想尝试弄一个AI玩一下。但是弄下为,实际情况是…
又掉坑里了。
首先是想Deeplearning一下,发现没有样本!
其次,找了很久,网上也没有什么像样的开源库可以直接用,好不容易找到一个算和牌(胡牌)的源码,结果一看,效率低得吓人。世上一切都是有代价的,计算机的基本代价就是空间与时间,算法不优化,很多玩法(主要是笨方法)没得搞。
算了,反正过年闲着,先发明一下轮子吧。
第一步,概率估算。
蒙特卡洛法。本来本民工是想用蒙特卡洛法去生成海量样本的,然后统计出一些有意思的概率,然后把相关概率形成参数表,供后面的 博弈树alpha-beta 搜索优化用。
蒙特卡洛法,原理在这里就不表述了,但是这个的确是一个非常非常优秀的搞法,在处理复合概率问题方面,特别适合本民工这样不喜欢动脑的人。
因此在样本生成的过程中,一些有意思的数据就出来了。
先看一下地胡的概率。
注意一点: 因为出牌AI还没有完成,目前还没有让程序开始自动对弈,本文给的地胡概率并不准确,这个概率只是上手就有可能胡的概率。
以下是三个数据:
总体大概做了十几次发牌测试吧,因为每次要大概十分钟时间,太浪费宝贵时间,还不如多娱乐下别的,所以十几次也够了,出现地胡的概率是46W~116W次这样,抽样中值位置大约是80万。
需要说明的这不是一个严肃学术研究,只是一个有意思的测试。所以本民工的随机发牌程序实际是每家发了14张牌。所以真正有地胡的概率是320万(只有庄家是会起手拿14张牌)。
另外,这个是四川麻将,四川麻将是108张牌,只有万、条、筒。实际上概率大了很多。
结论就是:打四川麻将地胡的概率是320万分之一,这个概率… 比摸百万大奖还要难。简单算了一下,平均一天打10场麻将,大概平均要876年可能搞得上一次地胡。
好了地胡概率算出来了。下面是天胡。
不好意思天胡概率,还没有算出来。
本民工做了大概率四次每次3000万的抽样(每次要搞4个小时左右,太浪费时间),抽样样本是1.2亿次,因为只有庄家有条件天胡,所以实际是抽样4.8亿次没有出现一次天胡。
所以本民工算是明白了,为什么传说中会有老头摸到天胡,激动得那个…,这个概率真是太低了。因为这个概率本民工现在也没有算出来,现在还不敢乱说,那天把发牌和计和程序改成并发后,找台电脑让他去瞎算吧。
但是不论是地胡还是天胡它的实际概率,怎么说呢?远比本民工想象的要低非常多,因为我身边出现过两次,打牌时朋友和我说他的牌是摸了一张就上听,虽然没有地胡上,但实际上320万分之一这个就是四川麻将摸牌上听的概率。我怎么可能有这么好运气呢?当然需要说明的是,从小到大我没有听说身边有人地胡过,也许是身边没有人打作弊麻将吧。
另外,再分享一下,一个有意思的概率。
就是起手有一个对加上3副牌(含两个对)的概率,同时还缺了一门牌的概率,大概是6万分之一。平均一天打10场麻将,大概16年能搞得上来一次。这个似乎比较平民化,打麻将的人人都有机会,不过似乎也比我想象的要低。本民是不是应该检查一下算法的问题了?
说到最后,放个彩d。
不知道大家没有仔细看图,实际上本民工已经随机抽样出来了天胡牌。请仔细看数据图2。因为只出现了一次,所以没有形成统计样本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)