文章分享

Article Sharing

【麻将 ∣ 技巧】如何一眼就知道胡牌了没

麻将胡牌的演算法
一个人会不会打麻将有一项基本的判断方法,「能够判断是否胡牌」。在实战中,判断的速度越快越好,如此才能在取舍牌的时候,很快的知道打哪张牌听的牌比较好,也不会因为停下来比画思考,被看穿手里拥有的牌型。

要知道听什麽牌,最快的方式是背起来。常打麻将的人,脑中自然背了不少牌型,常见牌型瞬间就能判断,除非拿了许多同花色的牌才会造成困扰。

电脑程式如何判断听牌?
要判断听牌,得先知道胡牌的牌型,如同要准备晚餐的食材之前,得先知道晚餐想吃什麽。

一般都是删除「一刻(3张相同牌)」或「一顺(3张连续牌)」,也就是所谓的「搭子」,再利用「递回」程序处理。这样做的效率并不太优,虽然判断一副牌还是瞬间完成,但若要判断十万副牌局,效率好坏造成的影响非常之大。

麻将定理1
一副牌P,若把一个对子(俗称眼睛)拿掉後,假设此时数字最小的牌是x,

若x的张数是3张以上,则拿掉3张x(一刻)後,剩下牌为Q。
否则拿掉x, x+1, x+2(一顺)之後,剩下的牌为Q。(若无法拿,则P没胡)
则「P胡」若且唯若「Q胡」。

举个麻将例子说明:

例1:判断P = 33345678是否胡牌?

P中唯一能当眼睛的地方,就是3,因此把33一对眼睛拿掉,变成Q=345678,Q是胡牌型,所以P也是。

例2:判断P = 55666777889是否胡牌?

其中55、66、77、88都可以当眼睛,每种情况都试一次。

若55当眼,剩下666777889;最小的6有三张,直接拿掉666,剩777889,再拿777,得889,所以没胡。
若66当眼,剩下556777889;最小的是两张5,但没有办法拿掉两个567了,所以没胡。
若77当眼,剩下556667889;最小的是两张5,但没有办法拿掉两个567了,所以没胡。
各种能拿掉眼睛的方式都试过,都无法胡,所以P不是胡牌型。

这样做的好处,是只要拿掉一副牌的眼睛後,就可以一路由最小的牌取到最大的牌,依序检验,「线性时间」即可判断是否胡牌,避免来来去去的反覆尝试,省下非常多的计算时间。

已经学会胡牌型之後,判断听牌就简单了。

只要试着加入任何一张牌,再尝试拿掉各种可能的眼睛,利用定理1判断是否可以胡牌,即可得知听哪些牌,仅需要O(n3)的时间。

例3:判断3456667888听什麽牌?

加入1,剩13开头,没胡
加入2
拿掉66,剩234567888,胡!
拿掉88,剩234566678,没胡

加入3
拿掉33,剩456667888,没胡
拿掉66或88,剩334开头,没胡

加入4
拿掉44,剩35开头,没胡
拿掉66或88,剩3445开头,没胡

加入5,略,胡
加入6,略,胡
加入7,略,胡
加入8,略,胡
加入9,略,胡
上述方法虽然是电脑的判断方式,但其实人脑判断,也是相同道理,先把可能的眼睛拿出来,然後最小牌能拿走一刻即拿走一刻,否则试着拿走一顺,由於人脑很强大,会自动省略一些无关紧要的判断步骤,因此执行速度并不会太慢。

奴役电脑帮你办事
有了快速判断听牌、胡牌的方法後,就可以开开心心奴役电脑帮我们做一些血汗计算了。

李志希教授的电脑帮忙跑了所有的情况,发现十三张麻将除了「国士无双」(俗称十三么)可以听十三张牌之外,听九个洞的情况只有一种:1112345678999,俗称「九连宝灯」。而听八个洞的情况有16种;听七个洞的情况有79种。

笔者自己也计算了台湾麻将十六张的情况:听九个洞的情况有11种,有1122233345678999、1112345667788999、1112345666777888、1112345566778999、1112344556678999,或是上述平移、对称的牌型。听八洞的情况有94种;听七个洞的则有532种。

眼睛的判断麻将
李教授的方法告诉我们判断胡牌与否,先找出眼睛会比较快。一旦眼睛的选择多,事情就变得越复杂,电脑当然没问题,但人脑判断可能稍微慢了一点。此时,数学可以派上用场。

方法是这样的,先只看同个花色,把所有的牌分成3堆:「一四七」堆,「二五八」堆,「三六九」堆,接着观察每堆的张数。

2
例如上面的牌型,其中三六九牌共7张,二五八牌共6张,一四七牌共4张。

这样一眼就知道没有胡牌,完全不用去试。

什麽!?为什麽可以这麽快?因为我有独门秘技。

独门秘技
若要胡牌的话,要抓成三个三个一组的搭子再搭配一对眼睛,搭子若是「顺」,贡献这三堆的个数必同时都加1;搭子若是「刻」,则某一堆会加3。

因此,若先不看眼睛,这三堆的牌数除以3的余数应该要相等。再加上眼睛,就只会让某一堆个数与其他两堆不同。

以上例来说,三堆的张数分别为7、6、4张,除以3的余数为1、0、1,於是,眼睛只有可能出现在第二堆,也就是二五八。若55拿掉,前半的33344无法凑成两搭,因此没胡;若88拿掉,依定理1,333也可以拿掉,剩下的局部44556也无法凑成两搭,所以也无法胡牌。

我们再将这个结果写成定理(没办法,数学家就是喜欢这样XD)

定理2
一副牌,依一四七、二五八、三六九分成三堆,每堆的张数除以三的余数必有一个与另两个不同,则眼睛就在不同的那堆里。

回到古天乐手上拿的牌型来说:23333444455556666是否胡牌呢?

因为一四七有4张,二五八有5张,三六九有8张,除以3分别余1、2、2,所以眼睛只可能是44,接着把44拿掉,剩下 233334455556666,然後利用定理1依序去拿,得到234、333、456、555、666,所以是胡牌型。

有了定理2,判断胡牌时眼睛的可能性,可缩减到一堆,检验至多三次,大幅提升计算效率。

当整副牌同时有万、筒、条、字的时候,因为眼睛只会在其中一种花色,因此其它花色一定都是3的倍数,利用张数就可以推判眼睛在哪个花色,所以只要能判断其中一种花色即可。

假想一个更困难的例子,每张牌可以超过4张的话,请问:33333444555566777888899999有没有胡牌?

三六九,共12张,除以3余0
一四七,共6张,除以3余0
二五八,共8张,除以3余2
所以若能胡牌的话,眼睛必是55或88:假设是55,利用定理1,由小到大拿成333、345、345後,剩466777888899999,而4的後面断了,所以没有胡。

假设是88,利用定理1,由小到大拿成333、345、345、456、567、789、789、999,胡牌。

麻将 德州扑克 斗地主 北京赛车 运动彩券 运彩 台湾彩券 世界盃足球 世足 MLB

回上一页

合作伙伴

Best Partner

娱乐场推荐
百家乐外挂