智游城

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5327|回复: 14
打印 上一主题 下一主题

一个关于ABB面的数学计算问题

[复制链接]
跳转到指定楼层
#
zkort 发表于 2016-8-21 23:00:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一、目前我们可以知道,当看到自己持有手牌后,精确计算flop中牌的概率,比如:
With 2 non-pair cards, the probability of flopping: At least a pair (using your pocket cards) from two non-pair cards - 2.1/1
        7方片<> 3红桃<>       7梅花<> J梅花<> 2红桃<> or better
            32.4%                  FLOP
     自己手持两张单牌,那么可以确定32.4%的概率至少可以在flop成1对或者更好。

二、关于贝叶斯定理
      贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 ) 发展,用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(B|A) = P(A|B)*P(B) / P(A)。
举例:
现分别有 A、B 两个容器,在容器 A 里分别有 7 个红球和 3 个白球,在容器 B 里有 1 个红球和 9 个白球,现已知从这两个容器里任意抽出了一个球,且是红球,问这个红球是来自容器 A 的概率是多少?
假设已经抽出红球为事件 B,从容器 A 里抽出球为事件 A,则有:P(B) = 8/20,P(A) = 1/2,P(B|A) = 7/10,按照公式,则有:P(A|B) = (7/10)*(1/2) / (8/20) = 0.875
贝叶斯公式为利用搜集到的信息对原有判断进行修正提供了有效手段。在采样之前,经济主体对各种假设有一个判断(先验概率),关于先验概率的分布,通常可根据经济主体的经验判断确定(当无任何信息时,一般假设各先验概率相同),较复杂精确的可利用包括最大熵技术或边际分布密度以及相互信息原理等方法来确定先验概率分布

那么,根据定理,我们可以从结论(已经拿出的红球)反过来推导出从那个箱子拿出的概率大。
三、如何根据已经发出的牌型推断对手中特定牌型的概率?
假定:9人桌,只有hero和对手入池,两人range都是所有牌的range,不考虑位置因素、不考虑情绪因素,两人都是两张单牌(非起手对),flop为ABB牌型(比如779),hero并没有中7,成为明3条(777),
已经确定的概率如下:
(1)任意一个玩家被发到两张的概率为1-6%=94%(玩家拿到任意口袋对概率为5.88%,近似计算为6%)
(2)flop发出ABB牌面的概率是17%
(3)Trips (using one of your pocket cards) from two non-pair cards - 73/1

                 7方片<> 2方片<>       7梅花<> 7红桃<> 9黑桃<>
                     1.35%                  FLOP


当玩家自己持有两张单牌,且flop发出来玩家自己中明3的概率是1.35%(近似计算为1.4%)

那么,请问,根据已经发出的结果,反推对手中了明3条(777)的概率是多大?


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏
14#
edindzeko 发表于 2016-8-23 13:31:11 | 只看该作者
Jimihandrix 发表于 2016-8-23 10:53
我试着来证明一下。
翻牌前双方的范围相同,所以中明三的概率也相同,我设这个值=x
接下来,一方不中明三 ...

恩,说得没错,谢谢你

我又看了下你的PQL,写的是min trips,那么772的牌面,27,22,77都算在了里面,但是按poker的定义来说,前两个算full house,后一个算quads,是不是还是应该改成 exactFlopHandCategory(PLAYER_2,FLOPTRIPS)

13#
Jimihandrix 发表于 2016-8-23 11:24:15 | 只看该作者
欢迎指正
12#
Jimihandrix 发表于 2016-8-23 10:53:13 | 只看该作者
本帖最后由 Jimihandrix 于 2016-8-23 11:24 编辑
edindzeko 发表于 2016-8-23 09:17
这个计算的概率比第一个高是不是因为这个计算进了 card removal 的效果(真实情况也是这样的)
但是第一个 ...

我试着来证明一下。
翻牌前双方的范围相同,所以中明三的概率也相同,我设这个值=x
接下来,一方不中明三的情况下,另一方中明三的概率受到底牌移除效应影响,会偏离x。我设这个值为f(x)(f(x)>x,但是这个不重要)
第一个情况,一方不中明三同时另一方中明三同时发生的概率=(1-x)*f(x)
第二个情况,一方不中明三,然后另一方中明三的概率=f(x)
在德州扑克中,f(x)不可能是负数,也不可能是0,所以,只需要比较(1-x)与1的大小,就能得出两个概率数值之间的大小关系。
显然,0<x<1,所以
(1-x)*f(x)<f(x)

结论:一方不中明三然后另一方中明三的概率>一方不中明三同时另一方中明三,和底牌移除效应没有关系,完全是因为中明三概率x所在区间决定的

11#
edindzeko 发表于 2016-8-23 10:25:28 | 只看该作者
JCreeks11 发表于 2016-8-23 09:26
这个问题其实很好理解。

一个是已知我手里有一张7,问我中三条的概率。你想想你打牌中过多少明三,就能 ...

你跟我说得好像不是一回事

我是想知道8.0168%和8.7825%的这个概率差是从哪来的,就是把对手没拿到trips从select变成了where,我知道这是从概率变成了条件,但想用更通俗的语言解释一下
10#
JCreeks11 发表于 2016-8-23 09:26:05 | 只看该作者
edindzeko 发表于 2016-8-23 09:17
这个计算的概率比第一个高是不是因为这个计算进了 card removal 的效果(真实情况也是这样的)
但是第一个 ...

这个问题其实很好理解。

一个是已知我手里有一张7,问我中三条的概率。你想想你打牌中过多少明三,就能感觉一下1%是否合理。

一个是已知已经发出来77X,问对手手里有一张7的概率。你可以想一下,这其实是相当于我手里拿着77,在转牌或者河牌之中暗三的概率。你也可以感觉一下8%是否合理。
9#
edindzeko 发表于 2016-8-23 09:17:33 | 只看该作者
Jimihandrix 发表于 2016-8-23 03:20
感谢霍老师的指正,经过修改后的计算如下:
select count(minFlopHandCategory(PLAYER_2,FLOPTRIPS)) /*  ...

这个计算的概率比第一个高是不是因为这个计算进了 card removal 的效果(真实情况也是这样的)
但是第一个没有考虑,因为第一个 select 里面的两个概率是独立计算的?
8#
Jimihandrix 发表于 2016-8-23 03:20:07 | 只看该作者
Howard 发表于 2016-8-23 00:07
感觉“Player1无trips” 应该放到where下面,而不是在select里面

题意说的自己没有trips貌似是个已知条 ...

感谢霍老师的指正,经过修改后的计算如下:
select count(minFlopHandCategory(PLAYER_2,FLOPTRIPS)) /* How often PLAYER_2 flop hand category at least trips */ as COUNT1
from game='holdem', syntax='Generic',
     PLAYER_1='ro',
     PLAYER_2='ro'
where (  pairedBoard(flop) AND   (NOT     exactFlopHandCategory(PLAYER_1,FLOPTRIPS))) /* (  the board is paired on the flop AND   (NOT     PLAYER_1 flop hand category is trips)) */

8.7825%


7#
Jimihandrix 发表于 2016-8-23 03:05:25 | 只看该作者
Howard 发表于 2016-8-23 00:07
感觉“Player1无trips” 应该放到where下面,而不是在select里面

题意说的自己没有trips貌似是个已知条 ...

霍老师,我也有很多问题想向您请教呢!
6#
Howard 发表于 2016-8-23 00:07:47 | 只看该作者
Jimihandrix 发表于 2016-8-21 09:58
能用计算机完成的工作就不手动完成。通过软件计算,得到的结果是:
select count((  (NOT     minFlopHandC ...

感觉“Player1无trips” 应该放到where下面,而不是在select里面

题意说的自己没有trips貌似是个已知条件。

朋友,你用PQL这么娴熟,以后多交流经验啊!我有很多疑问,希望能得到解答
5#
Jimihandrix 发表于 2016-8-22 22:22:29 | 只看该作者
propokertools
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|智游城论坛

GMT+8, 2024-11-21 01:35 , Processed in 0.047534 second(s), 8 queries , Redis On.

Powered by Discuz! X3.2

© 2001-2012 Comsenz Inc.

返回顶部