智游城

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: Howard
打印 上一主题 下一主题

flop 三同花时的概率

[复制链接]
11#
 楼主| Howard 发表于 2015-11-7 01:45:44 | 只看该作者
本帖最后由 Howard 于 2015-11-6 12:00 编辑

首先声明,您问的应该是德州,不是奥马哈

翻牌出两头顺的计算公式,想想就非常复杂,最好用模拟器。

要是非得硬算。。。。。那就得有至少2小时的空闲

先列个框架:
分子 = 所有open-ender flop个数。
分母 = 所有flop组合数 = C(50,3) = 19600

分母好办。分子麻烦,问题就来了。算不算flush draw?算不算已经成了flush?

比如78俩红桃,flop K65三红桃,已经做成了flush,显然再讨论straight draw啊,8 outs啊,失去了意义。
再比如,78俩红桃,flop K65俩红桃。同时又flushdraw和straight draw。这要不要计算在内。
这要根据语境而定。有时是要排除的,比如讨论suited connector 在x%会flop flushdraw,y%会flop straight draw,这时应该排除。
有时又该包含


这里只讨论一种情况,就是
1. 我们是87 suited
2. 我们可以有flushdraw
3. 但是我们不可以有flush
4. 我们也不可以有straight
5. 包含double gutter
6. 牌面可以有公对

答案是9.60%

计算公式是

[ 3*(15*34 + 1*27 + 2*6*4) + 4*4*4*2 - 2 ] / C(50,3) = 9.60%.

解释见下贴

12#
 楼主| Howard 发表于 2015-11-7 01:56:54 | 只看该作者
[ 3*(15*34 + 1*27 + 2*6*4) + 4*4*4*2 - 2 ] / C(50,3) = 9.60%

先把简单的地方排除:分子C(50,3)毫无疑问是所有flop。

分子:
3 表示有三种 2-card 点数,是“顺子架子”。比如56/69/9T。
15表示,总共16种2-card花色组合里面,有15种不会让我们4同花。
34表示:顺子架子确定后,第三张不能选架子前后的rank,以避免straight,也不能选有公对的。比如架子是9和6,那么第三张不是5/10,也不能是9/6。48-8-6 = 34

1表示,有1种组合同时会让我们4同花。比如我们87红桃,架子是56红桃;
27表示,此时第三张牌增加了一个限制就是不能是剩余的7张红桃,34-7=27;

2×6×4 是有公对的情况:
2个点数可以有对,每个对子有6种花色组合,第三张牌有4种情况。

4*4*4*2 表示 double gutter的组合数,有两种:flop 46T和59J,每种每张牌都有4种花色
最后再减去2,因为有两个double gutter,会让我们同花。
13#
monox0 发表于 2015-11-9 11:46:44 | 只看该作者
Howard 发表于 2015-11-7 01:56
[ 3*(15*34 + 1*27 + 2*6*4) + 4*4*4*2 - 2 ] / C(50,3) = 9.60%

先把简单的地方排除:分子C(50,3)毫无疑 ...

继续问omaha,

我用simulator 模拟了flush 的概率,基本差距在1%以内。

你算过trips 的概率吗?  我持有(0,1) 张trips, 有n 个对手,台面AAB, 至少有1人有tirps 的概率(不包含BB 的full house,但包含AA这样的quads 或者两个trips)

我计算的结果先发出来:


   0Tripcards  1 trip cards
1    16     8
2    30     17
3    43     25
4    55     34
5    65     42
...
14#
 楼主| Howard 发表于 2015-11-10 06:53:54 | 只看该作者
我的计算结果:

   0Tripcards  1Tripcards
1    17     9
2    32     17
3    46     26
4    59     35
5    69     44

语句(我无tripcard,5对手):
select count(handshaving(inRange,'7***!(55)') >= 1)  
from game='omahahi', syntax='Generic',
     board='775',
     PLAYER_1='*!7',
     PLAYER_2='*',
     PLAYER_3='*',
     PLAYER_4='*',
     PLAYER_5='*',
     PLAYER_6='*'


我有且仅有1个7,五对手:
select count(handshaving(inRange,'7***!(55)') >= 2)  as COUNT1
from game='omahahi', syntax='Generic',
     board='775',
     PLAYER_1='7***!(77)',
     PLAYER_2='*',
     PLAYER_3='*',
     PLAYER_4='*',
     PLAYER_5='*',
     PLAYER_6='*'
15#
monox0 发表于 2015-11-10 13:41:41 | 只看该作者
Howard 发表于 2015-11-10 06:53
我的计算结果:

   0Tripcards  1Tripcards

有误差正常,我是模拟10000次,样本比起全部可能还有不小的差距。
16#
Jimihandrix 发表于 2016-2-15 22:40:58 | 只看该作者
用PQL就好了,手动计算没有实际意义吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|智游城论坛

GMT+8, 2024-4-29 12:49 , Processed in 0.042204 second(s), 7 queries , Redis On.

Powered by Discuz! X3.2

© 2001-2012 Comsenz Inc.

返回顶部