|
双扣,又称八十分,升级,拖拉机等等(https://zh.wikipedia.org/wiki/升級_(撲克牌)),是一种在中国流传较广的牌类游戏,因为四个人打两副牌,所以过程中算分,算牌都有一定的技术含量。又由于笔者父母这一辈大学时代没有各种电子产品,主要课余娱乐活动中双扣尤其盛行,所以过年回家父母基本可以成为常驻牌友,只要再找一个对pai象you回家就能简简蛋蛋组起四人局。
春节期间打了很多双扣局后,女票与我也开始思考双扣中一些简单的概率问题。有些思考的结果还挺有意思,决定开个栏写下来作个记录。其实双扣不算概率,不记牌,能不能玩呢?当然能玩,成都茶馆里打双扣的七八十岁的大爷人也不懂概率论,但是牌技好的一笔,也就是说这种牌打得多了,对怎么出牌会怎么影响局势自然会有一些经验上的,定性的概率估计,所谓蒙特卡洛法以频率代替概率。但是小概率事件总是会发生,谨慎起见我们总是可以做一些定量的计算,让我们对一些判断更为自信。
<hr/>这一篇首先介绍一种非常普遍的情况。在牌局的初期,当我们比较确定大家都还有一门副牌的时候,我们会出一对这个花色的副牌,越大越好,用以逮分或者跑分。但即使排除掉被人用主对(或者叫将对)毙(或者叫杀)的情况,除非出一对A或者确定别人手中没有更大的牌成对的情况下,出牌总是有风险。好的话可以被队友用大对接手,惨的话对K被对A“逮住”的情况当然也时有发生。这时给定n为其他人手中可能有的对子数量。我希望能够求得对子不被敌人在这一轮出牌中用更大的对子“逮住”的概率P(n)。
n非常容易知晓,自己的手牌,出掉的牌,炒进底的牌——如果后面没有人再炒的话,以上情况中中出现过的单牌当然不可能在他人手中成对。很多情况下我们没有对A但出一对Q也拥有绝对的自信,正是因为我有一张A和一张K在手中,或者我下过一张单A队友给我垫过一张K。即使是对10这样危险的对子,如果我JQKA都有>=1张在手里或者都有>=1张已经出到场上,我依然可以断定它是最大的。也就是此时n=0,我一定拥有本轮最大的副对。
为简化问题,我们先作以下简化假设计算关于P(n)最general的通项公式:
- 所有人都还有这一门的副牌至少两张,也就是说不在我手里/最后埋的底牌里/出掉的牌堆中的牌(称为未知牌),可能存在于任何一个人手中——这是在我们没有充足信息知晓任何人手中是否只剩一张该花色的牌(则不可能有对子)或者该花色打绝的情况下(则可能用主上一对杀掉),能够做的最简单的近似。这个简化在其他篇章(如果这个栏目还会更新的话)关于副牌的讨论中也会经常用到,因此暂且简称为“主不在乎”假设。
- 在1的基础上,未知牌存在于任何一个人手中的概率都是平等的。考虑到除自己外共有三人,每个人有1/3的概率独立地拥有任意一张未知牌。(实际情况当然会更加复杂,比如庄家比大家多看8张牌,可能有更大的概率keep住一张A或K,但是如果是更小的牌也可能会为了打绝花色而埋下去;如果炒过多次底,我现在要出的副牌花色曾经是某个人立的主花色,那么这个人可能有更大的概率拥有比其他人更多该花色的牌。以上种种,按下不表。)
- 所有人优先出让自己一方上手的牌。排除罕见的本可以大却故意选择出小对子被对方吃掉的情况(比如不想拆拖拉机/姊妹对)。大多数情况下拆拖拉机如果能保证上手逮对也并不吃亏(比如我是AAKK,我可以先出KK大这一轮,再出AA),但是不能排除捏住更小拖拉机的可能。比如我一对8冲了出去,我的队友一定要在他的视角下忌惮被对A对K压所以不拆自己的1010JJ反而出了对2,结果刚好最后出牌的敌人只有一对9却把我逮了——这种及其少见的情况我们排除。在我们的假设下,队友一定会出一对J来尽量大过敌人的未知对子,即使最后一个敌人可能有对A或者对K,我想这也是大多数情况下大家会做的选择。(当然,这也要考验对队友的信任度,如果我敢出对8,在我的视角下可能知道场上没有对K对A了,这也是队友可以考虑的一点。)
假设3有一个自然的推论3A:拥有最大对子的人不一定会在这一轮上手,但拥有最大对子的一方一定会这一轮上手。注意我们没有必要强行假设所有人优先出最大的牌,毕竟如果我出了一对K,我的对家也许会愿意给我出对5而不是在这轮用他手中的对A压过我(除非他很想上手),但是他手中有对A这件事保证了我方上手;如果敌人一方率先用一对K大过了我方两位玩家,另一方(即最后一个出牌的人)也可以选择出对10而不是必须出手中的对A压过他(除非他也很想上手),但是他手中有对A这件事保证了敌方上手,如果其队友没有出对K他的对A自然也会下来。因此P(n)有了一种新的解读:
P(n)等同于我或者队友拥有场上最大的对子的概率,1-P(n)等同于敌方两人拥有场上最大的对子的概率。
接下来进入归纳法解体过程
<hr/>n=0的情况我们其实已经提过,在“主不在乎假设”之下,本轮必然我的对子大P(0)=1。
这时如果我们相信数学,已经可以大胆地推通项公式。但为方便理解我们可以直接计算一下n=1的情况,即有那么一对未知牌at large。我没有A,也不知道A在哪里,盲出一对K则可能会被一对A压制;或者我手上有一对Q以及一张K,或者我有一对Q但是有人出过一张A,这样出一对Q只可能会被一对A或一对K压制。
根据假设2,这个潜在的对子中的每一张单牌在任意一人的手上为1/3,也就是说整个对子在对家,每个敌人的手中的概率都为1/9,剩下1-1/9-1/9-1/9=2/3为不成对的概率,因此1/9概率队友大,2/9概率敌人大,2/3概率我大(其他人没对都比我小)。虽然队友拥有这个比我大的对子也可能先给我垫分,但这不影响哪一方上手/赢下这一轮,根据推论3A,我方本轮赢的概率为
P_1 = \dfrac19\times 1 + \dfrac29 \times 0 + \dfrac23\times 1 =\dfrac79
为方便推广,严格按照推论3A书写概率公式,即队友大的条件下则我方赢下本轮的概率为1,敌人大的条件下则我方赢下本轮的概率为0,我大的条件下则我方赢下本轮的概率又为1。
<hr/>如果现在有n对潜在的对子,这个公式应该怎么写?其实我们只需要对最大的那一对进行条件概率下的分类讨论,我们已经算过,它1/9概率在对家手中绝对安全,剩下2/9概率在敌人手中绝对危险,再剩下2/3概率不成对。如果n=1,它不成对我就是大的。但如果n>1,而最大的对子不存在的话,剩下的概率计算就完全等效于只用考虑剩下n-1对的比较情况,也就是说:
P_{n} = \dfrac19 \times 1+ \dfrac29\times 0 +\dfrac23\times P_{n-1}
结合P1,P0求得
P_n = \dfrac13 + \left(\dfrac23\right)^{n+1}, n=0,1, ... 12
对于n=0,n=1都自洽有效。
P(n)的前几位取两位有效数字分别为P(0).. P(3) = 1.00,0.78,0.63,0.53... 如果首次上手打对子时,根据现有的牌推断有一两对更大的不知道在何处,我们还是敢出一出。如果有四对以上的大对子不知道在哪里,那么本轮贸然出手我方占优的概率就小于0.5,也就是常说的 赌 怪,这种时候我们一般会再等待前面的一些对子被排除,或者这对以后再甩牌,不行也能耗耗别人的主对。这样做的收益是巨大的,因为n每升高1,对子被逮的概率就会显著地提高。
<hr/>思考问题:考虑2m个人打m副牌,m=2时回到已讨论的情况。此时通项公式将会有怎样的变化?对于出m张牌的大对子(如三副牌出KKK)的本轮胜率,用完全一样的思路可以得到
P_n = \left(\dfrac1{2m-1}\right)^{m} + \left[1-\left(\dfrac1{2m-1}\right)^{m} \right]^{n+1}
n为可能存在的更大的&#34;m of a kind&#34;对子数量。此时即使n很大,我的胜率其实随着m的增大会变得非常高,毕竟摸到这种牌真的很不容易。
但是在m不断地增加的情况下如果还是出两张牌的对子呢(n依然为场上可能存在的更大的对子数)?直觉告诉我们赢的概率可能是更小的。有兴趣的可以算算。注意m>2时场上出现m-1个某张牌才能排除成对的可能性,而且在每人手上成对的可能性跟场上已经出了0张,1张...还是m-2张有关,而不是像m=2一样要么场上出0张,要么就排除在n之外。 |
|