就题目而言,对局赢牌牌型概率分布,各种牌型的出现概率,以及同样一手牌在不同牌局中的牌力大小,是不同的概念。本文不纠结这些概念,而是直接实验,从结果来统计概率。(本文实验在linux下用C语言通过一定数据结构进行编程,发牌的随机性可以保证)
容易想到,出现几率越小的牌型,其牌力也越强;同样大小的牌,玩家越多时,其牌力可能越小(皇家同花顺当然在任何情况下都是最大的,但是对于增加对手弃牌率以及获得筹码量多少,这又是另一个话题了)。
后文中统计结果中的牌型的解释:
highCard 高牌
only_3 三条
one_pair 一对
straight 顺子
two_pair 两对
flush 同花
3_2 葫芦/三带一对 bomb
炸弹/四条
straightFlush 同花顺
(皇家同花顺太特殊出现几率太小太小,略去)
一、 统计牌型出现概率
随机发牌,统计各种牌型出现的次数,计算出现比例。为了看得清楚些,把小数位设置长一些,先统计一下1000万次发牌的情况:
看看1000万次时的表现:(与上面结果的偏差在
±1E-6,也就是十万分之一的水平,可以说各种牌型出现的几率,在进行大量模拟测试时,是想当稳定的了。数学上,应该叫“以极大概率趋于某种分布”,也可以看出,牌型出现的几率,与理论计算是一致的)
二、 统计多个玩家对局时赢下比赛的玩家牌型分布及概率大小
1V1赢牌牌型分布及概率,是一个求随机链分布的问题。以下是通过程序模拟发票和牌手进行1V1模拟比赛结果:
再进行更多次,比如100万次、1亿次的对战,各种牌型出现的几率趋于稳定。
下面再进行 3 个牌手的对局测试,进行 50万次测试,结果如下:
为了更加精确,将游戏局数提高到 1亿 次,经过运算得到如下结果:
可以发现,其实即便是取 1亿 次的牌局,结果也和50万次基本一致;
但3个牌手时赢牌者牌型较之2个牌手对局时,明显有向大牌的方向偏移的趋势,即,2个人对局时,任意一方以高牌胜出的概率为59.9%左右,而当有三个人对局时,以高牌胜出的概率略有下降,约为59.5%;这也不难理解,一局对战中,玩家适当增加,出现更大牌型的可能性相应也增加了;但至于是否增加到一定程度,或者增加到什么程度会使得大家都反而不容易拿到更大的牌,这种问题就留给概率统计专家们去讨论吧。
为了更加具有代表性,取更多个玩家的情况进行更多测试,如下:
(1) 4个玩家,500万次对局:
(2) 4个玩家,10万次对局:
(3) 5个玩家,100万次对局:
(4)6个玩家,350万次对局结果:
(5) 极限情况,来 10个玩家(正常德州扑克极限),进行1000万次的测试:
明显可以看出,如果10个人玩,你拿了一手和只有两个人玩时同样大小的高牌,那你手中牌能赢下牌局的理论可能性(不考虑多轮下注,而只是单纯比较大小)几率从59.9%
骤降到 40.95%,这是一个非常直观的结论,毕竟,10个玩家玩牌,你拿着一手高牌想要赢,赢面是非常小的。
三、 各种手牌条件下赢牌几率(条件概率)及赢牌牌型概率分布
一手牌是否算是好牌,评价标准太多了,但有一点是不变的,能赢下比赛的牌,势必更“好”一点。
在计算牌力或者牌型出现可能性方面,往往更多地是依靠已经拿到的牌来做概率计算。不讨论枪口位、大小盲注位置、下注分布的情况下,就各种手牌(2张)条件下,来做一个赢牌可能性的概率统计。
------------------------------------------ 待更
-----------------------------------------------------
后记:
实际对局中,要考虑的因素更多,比如桌面上的牌和你手中的牌刚好组成顺子,但已经四花同色,而你无此花,那你的赢面又小了很多倍,类似这种条件概率的问题,往往需要多积累实战经验,来通过对手前期的投注观察对手下注策略,识别其可能牌力。
德州扑克不是单纯的大小比较,不是暴力的斗牛,所以单独看概率表是没有意义的。但高手玩家,对各种牌型出现的可能性,应该说都是有不错的掌握的。
热门工具 换一换