2023-08-02-德州扑克texas-holdem中5张公共牌出现的牌型概率

大约2014左右开始接触德州扑克游戏,然后就一直很喜欢德州扑克游戏。还看了很多德州扑克主播的讲解,买了很多德州扑克方面的书籍来看。

最初是在pokerstars这个平台玩,后来转到gg poker,大约2020年左右,慢慢转到打奥马哈[Omaha],先玩的是4张奥马哈,近期基本只玩5张奥马哈。 让人不好意思承认的是,一直是个亏损玩家。XD

一 开发的go程序,用于计算德州扑克,奥马哈游戏中,公共的5张牌,出现的牌型概率,实际上,这个测试结果,适用于任何发的2张,3张,4张,5张牌

  • 运行环境:vscode/ubuntu,32G内存
  • 运行条件:
  • 开启50个goroutine,每个goroutine循环10000次,也就是一共运行50万次
  • 每循环1次就是,牌靴中有1副牌的游戏流程[去掉大小鬼,每副牌52张]
  • 运行时间:2023-07-18 20:16:37
  • 运行时长:2:04(2分4秒)
  • 运行结果:

程序输出的 svg图片

二 运行结果说明

个人觉得比较有用的,就是,5张公共牌中,有49.25%会出现至少一对,也就是,flop后,如果手上有top set的话,其实all in打光应该也是 正ev的。

希望对看到的人有一点帮助。

–the end

2023-08-02-百家乐baccarat庄闲和胜率统计

一 开发了一个Go程序,来统计百家乐游戏中的庄闲和胜率情况。

  • 运行环境:vscode/ubuntu,32G内存
  • 运行条件:
  • 开启50个goroutine,每个goroutine循环10000次,也就是一共循环50万次
  • 每循环1次就是,牌靴中有8副牌的游戏流程[去掉大小鬼,每副牌52张]
  • 运行时间:2023-07-18 20:06:55
  • 运行时长:6:47(6分47秒)
  • 运行结果:

二 运行结果说明:

图表上的总运行次数代表的是,洗牌之后,每次下发闲家庄家的牌[闲家2张,庄家2张],并完成补牌整个流程,最终获胜的某个下注区域,这样的流程。

看起来,百家乐其实是游戏中,少有的庄闲对赌中,庄家没有占据大优势的游戏类别之一。

为方便记忆,可以简单取整,庄家 46%胜率,闲家45%胜率,和9%胜率。

三 可以参考:

维基百科中的 百家乐词条

https://zh.m.wikipedia.org/zh-cn/%E7%99%BE%E5%AE%B6%E6%A8%82

词条中庄胜率45.8597%,闲家胜率44.6247%,和胜率9.5156%

–the end

2023-08-04-inkscape1-3版本svg转png在ubuntu-server20-04遇到的问题

一 Inkscape程序

https://inkscape.org/

Inkscape是矢量图形编辑器,以自由软件许可发布与使用。该软件的开发目标是成为强大的绘图软件,且能完全遵循与支持XML、SVG及CSS等开放性的标准格式,而且是跨平台的应用程序,支持Windows、Mac OS X、Linux及类UNIX版等操作系统。[维基百科]

二 开发的后端go程序,需求svg转png,刚好选用Inkscape程序。在Windows10,Ubuntu桌面版[Ubuntu 22.04.2 LTS]运行都是ok的,但是 Ubuntu Server 上运行会出错。

glibmm-WARNING Failed to wrap object of type 'GtkRecentManager'

Ubuntu Server 版本

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:    20.04
Codename:   focal

Ubuntu Server 版本上安装的Inkscape版本是1.3的,错误和这个url地址错误一样 https://gitlab.com/inkscape/inbox/-/issues/6903

Version info
    Inkscape 1.3-dev (8a0d19d550, 2022-05-02, custom) Linux Mint 20
    Inkscape 1.2-beta (0d9a0fea06, 2022-04-08) Linux Mint 20

Doesn't occur in Inkscape 1.1.2 (ccedf6bf22, 2022-02-24) Linux Mint 20

根据这个帖子的内容,所以,卸载1.3新版本,改安装 1.1 版本。

apt purge inkscape  
apt list | grep inkscape 

查看可以安装的版本,选择1.1版本安装。

apt install inkscape=1:1.1+rc+202105240936+c4e8f9ed74~ubuntu20.04.1

安装完成,后端就可以正常从svg转到png了。

Inkscape也支持svg转pdf格式。

–the end

2023-08-02-终极德州扑克ultimate-texas-holdem,7张牌出现一对的概率

在youtube上常看一个华人朋友在美国赌场里玩这个终极德州扑克游戏,看的多了,总觉得有一个场景是值得深思一下的,所以,才就确认一下概率。

这是 youtube 用户 杨洋 https://www.youtube.com/@payme1314 的赌场视频。有兴趣的朋友可以看看。

一 开发的go程序,用于计算终极德州扑克,在最后一轮river圈下注play的时候,如果自己没有一对的情况下,是否应该下注

  • 运行环境:vscode/ubuntu,32G内存
  • 运行条件:
  • 开启50个goroutine,每个goroutine循环10000次,也就是一共运行50万次
  • 每循环1次就是,牌靴中有1副牌的游戏流程[去掉大小鬼,每副牌52张]
  • 运行时间:2023-07-18 20:35:31
  • 运行时长:3:19(3分19秒)
  • 运行结果:
msg="3,total_item_cnt:500000,牌张数:2, 牌型:至少一对,个数:29666,百分比:5.93"
msg="3,total_item_cnt:500000,牌张数:3, 牌型:至少一对,个数:86543,百分比:17.31"
msg="3,total_item_cnt:500000,牌张数:4, 牌型:至少一对,个数:161674,百分比:32.33"
msg="3,total_item_cnt:500000,牌张数:5, 牌型:至少一对,个数:246208,百分比:49.24"
msg="3,total_item_cnt:500000,牌张数:6, 牌型:至少一对,个数:327822,百分比:65.56"
msg="3,total_item_cnt:500000,牌张数:7, 牌型:至少一对,个数:394692,百分比:78.94"

二 运行结果解释

终极德州扑克是闲家和庄家对赌【和德州扑克 Texas Holdem不同,德州扑克是闲家之间的对赌】,和庄家比大小。庄家2张牌,闲家2张牌,5张公共牌。直到闲家三次下注结束,庄家才会亮牌,在此之前,庄家为暗牌。

终极德州扑克中,闲家会有三次下注机会

2.1 看到自己的2张牌,但没有看到公共牌的时候,pre flop 圈,可以下注3倍或4倍 ante 的筹码 2.2 看到3张公共牌了之后,flop圈,可以下注2倍的 ante筹码 2.3 看到所有5张公共牌之后,river圈,可以下注1倍的ante筹码,或者fold 放弃

这里要讨论的,就是 这个 river圈,第三次下注。

在闲家没有拿到任何对子,也没有比对子更大的牌型的情况下,是否应该下注1倍的ante筹码到play区,和庄家比大小。

根据程序运行10万次的结果,如果自己没有对子,庄家手里的2张牌和5张公共牌,组成对子的概率为78%。

在river圈,还没有下注play的时候,闲家在ante和blind位都会有1倍的筹码。

假设我们下注1倍的ante筹码在play位, 庄家2张牌+5张公共牌组合的最大牌型 闲家2张牌+5张公共牌组合的最大牌型 进行比较 来计算一下底池赔率,我们需要拿1倍的ante筹码下注到play区域,去赢取 play+ante+blind【如果在我们预设的场景下,庄家输了,说明庄家一定是 not qualify,在庄家not qualify的时候,不赔付ante区】,用1倍的筹码去赢取3倍的筹码,底池赔率就是25%

如果胜率大于底池赔率,则长期是 正ev 如果胜率小于底池赔率,则长期是 负ev

所以,闲家需要至少25%的胜率,才可以下注play区。现在来看,闲家胜率最大也就22%,所以,根据理论, 在终极德州扑克中,在river圈,当闲家没有拿到一对的时候,不应该选择下注,而应该fold。 P.S. 如果游戏规则为,没有这个qualify的限制,只要庄家输了,都会赔付ante区域的筹码,那么,闲家在river圈,任何情况下下注play区域都是正ev的。

三 网络上找到的规则链接,原地址

https://www.onlineunitedstatescasinos.com/games/casino-texas-holdem-poker/ultimate-texas-holdem/

–the end

2024-08-28-u盘做了ubuntu系统启动盘之后,没法被windows识别

一 使用U盘制作Ubuntu系统启动盘之后,安装完,然后用于Windows copy文件的时候,不被识别。

二 方法如下:【参看网络资料】

  • 1.1、下载DiskGenius Version: 5.6.1.1580 工具

下载地址:https://www.diskgenius.com/dyna_download/?software=DGEng5611580_x64.zip

或 官网下载页 https://www.diskgenius.com/download.php

  • 2.2、点击DiskGenius.exe,启动进程

  • 2.3、在DiskGenius主界面,右键点击不被识别的U盘,Erase Sectors[清除扇区]

等待20分钟左右,直到完成清除

  • 2.4、然后U盘就可以被格式化了

–the end

2024-07-25-blackjack中的庄家爆牌率计算

一 近期看Blackjack游戏比较多,所以,想知道当dealer明牌为某张时,爆牌的概率大体情况

  • 运行环境:vscode/windows
  • 运行条件:
  • 开启10个goroutine,每个goroutine循环10000次,也就是一共运行10万次 每循环1次就是,牌靴中有4副牌[去掉大小鬼,每副牌52张],dealer明牌为指定的牌

从结果来看

1 dealer明牌为2,3,4,5,6时爆牌率逐渐提高
可以化简记忆为,依次递增2%:
明牌为2,35%爆牌率,
明牌为3,37%爆牌率,
明牌为4,39%爆牌率,
明牌为5,41%爆牌率,
明牌为6,43%爆牌率,

2 从7开始,爆牌率可以简化记忆为逐渐递减,也是2%
明牌为7,26%爆牌率,
明牌为8,24%爆牌率,
明牌为9,22%爆牌率,
明牌为10,J,Q,K,20%爆牌率,
明牌为A,10%爆牌率,

3 从7开始,可以简化理解为在底牌中出现10的概率大约为35%,
所以,
当明牌为7时,组成17的概率大约为35%,
当明牌为8时,组成18的概率大约为35%,
当明牌为9时,组成19的概率大约为35%,
当明牌为10,J,Q,K[在Blackjack中它们权重一样]时,组成20的概率大约为35%,
当明牌为A时,组成21的概率大约为35%,

运行结果:

Blackjack,4副牌[4*52=208张],dealer明牌为♦2,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 14080 14.08%
18 13525 13.53%
19 13048 13.05%
20 12321 12.32%
21 11810 11.81%
22 14988 14.99% 35.22%
23 6220 6.22%
24 5518 5.52%
25 4681 4.68%
26 3809 3.81%

Blackjack,4副牌[4*52=208张],dealer明牌为♦3,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 13395 13.40%
18 13175 13.18%
19 12622 12.62%
20 11932 11.93%
21 11535 11.54%
22 9646 9.65% 37.34%
23 14194 14.19%
24 5287 5.29%
25 4460 4.46%
26 3754 3.75%

Blackjack,4副牌[4*52=208张],dealer明牌为♦4,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 13051 13.05%
18 12493 12.49%
19 12053 12.05%
20 11706 11.71%
21 11092 11.09%
22 9604 9.60% 39.61%
23 8814 8.81%
24 13113 13.11%
25 4486 4.49%
26 3588 3.59%

Blackjack,4副牌[4*52=208张],dealer明牌为♦5,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 12060 12.06%
18 12282 12.28%
19 11925 11.92%
20 11230 11.23%
21 10865 10.87%
22 9374 9.37% 41.64%
23 8481 8.48%
24 7884 7.88%
25 12296 12.30%
26 3603 3.60%

Blackjack,4副牌[4*52=208张],dealer明牌为♦6,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 16433 16.43%
18 10605 10.61%
19 10739 10.74%
20 10221 10.22%
21 9754 9.75%
22 8676 8.68% 42.25%
23 8122 8.12%
24 7334 7.33%
25 6869 6.87%
26 11247 11.25%

Blackjack,4副牌[4*52=208张],dealer明牌为♦7,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 37073 37.07%
18 13765 13.76%
19 7774 7.77%
20 7897 7.90%
21 7345 7.34%
22 6493 6.49% 26.15%
23 5829 5.83%
24 5163 5.16%
25 4655 4.66%
26 4006 4.01%

Blackjack,4副牌[4*52=208张],dealer明牌为♦8,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 12997 13.00%
18 36034 36.03%
19 12830 12.83%
20 6834 6.83%
21 7020 7.02%
22 5981 5.98% 24.29%
23 5570 5.57%
24 4819 4.82%
25 4283 4.28%
26 3632 3.63%

Blackjack,4副牌[4*52=208张],dealer明牌为♦9,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 11934 11.93%
18 11922 11.92%
19 35246 35.25%
20 11901 11.90%
21 6170 6.17%
22 5660 5.66% 22.83%
23 5058 5.06%
24 4534 4.53%
25 4080 4.08%
26 3495 3.50%

Blackjack,4副牌[4*52=208张],dealer明牌为♦T,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 11146 11.15%
18 11242 11.24%
19 11150 11.15%
20 34278 34.28%
21 11245 11.24%
22 5084 5.08% 20.94%
23 4698 4.70%
24 4313 4.31%
25 3666 3.67%
26 3178 3.18%

Blackjack,4副牌[4*52=208张],dealer明牌为♦J,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 11205 11.21%
18 11132 11.13%
19 11190 11.19%
20 33963 33.96%
21 11192 11.19%
22 5175 5.17% 21.32%
23 4848 4.85%
24 4242 4.24%
25 3799 3.80%
26 3254 3.25%

Blackjack,4副牌[4*52=208张],dealer明牌为♦Q,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 11286 11.29%
18 11051 11.05%
19 11270 11.27%
20 34145 34.14%
21 11131 11.13%
22 5132 5.13% 21.12%
23 4702 4.70%
24 4327 4.33%
25 3790 3.79%
26 3166 3.17%

Blackjack,4副牌[4*52=208张],dealer明牌为♦K,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 11314 11.31%
18 11237 11.24%
19 11073 11.07%
20 34093 34.09%
21 11107 11.11%
22 5233 5.23% 21.18%
23 4649 4.65%
24 4246 4.25%
25 3781 3.78%
26 3267 3.27%

Blackjack,4副牌[4*52=208张],dealer明牌为♦A,总运行次数10w次

dealer停牌时点数 出现次数 百分比 爆牌率
17 12948 12.95%
18 13041 13.04%
19 13026 13.03%
20 13172 13.17%
21 36280 36.28%
22 3197 3.20% 11.53%
23 2765 2.77%
24 2237 2.24%
25 1839 1.84%
26 1495 1.49%

–the end

2024-08-01-baccarat百家乐中闲家-庄家点数概率分布

一 百家乐中,庄家和闲家因为补牌规则不同,导致点数的分布也不是均匀和相同的

  • 运行环境:vscode/windows
  • 运行条件:
  • 开启10个goroutine,每个goroutine循环1000次,也就是一共运行1万次 每循环1次就是,牌靴中有8副牌[去掉大小鬼,每副牌52张]

从结果来看

1 闲家和庄家出现3的概率大致相同
2 庄家出现4,5的概率比闲家多
3 闲家出现0,1,2,6,7,8,9的概率比庄家多
4 庄家和闲家某一家中都是6,7,8,9出现的概率最多,4个点值相加的百分比基本上是50%

运行结果:

Baccarat,8副牌[8*52=416张],点数次数统计,总运行次数1w次

闲家点数 出现次数 百分比 总手数
0 75901 9.42% 806123
1 59721 7.41%
2 59952 7.44%
3 60278 7.48%
4 59643 7.40%
5 60464 7.50%
6 107392 13.32%
7 107987 13.40%
8 107258 13.31%
9 107527 13.34%

Baccarat,8副牌[8*52=416张],点数次数统计,总运行次数1w次

庄家点数 出现次数 百分比 总手数
0 71494 8.87% 806123
1 55995 6.95%
2 55501 6.88%
3 58516 7.26%
4 75231 9.33%
5 81077 10.06%
6 97617 12.11%
7 103665 12.86%
8 103138 12.79%
9 103889 12.89%

–the end

2024-09-15-百家乐大路图中的列分布情况统计

一 百家乐大路图中的列分布情况统计

  • 运行环境:vscode/windows
  • 运行条件:
  • 开启10个goroutine,每个goroutine循环100次,也就是一共运行1000次,每循环1次就是,牌靴中有8副牌[去掉大小鬼,每副牌52张]

简单归纳为:1000靴牌,每靴牌中有8副扑克,统计列分布

列节点数 列数/总列数 百分比 说明
1 16346/32446 50.3791% 总手数63868[去掉和局的情况]
2 8294/32446 25.5625
3 3963/32446 12.2141%
4 1993/32446 6.1425%
5 912/32446 2.8108%
6 504/32446 1.5534%
7 211/32446 0.6503%
8 122/32446 0.3760%
9 42/32446 0.1294%
10 27/32446 0.0832%
11 16/32446 0.0493%
12 6/32446 0.0185%
13 5/32446 0.0154%
14 2/32446 0.0062%
15 1/32446 0.0031%
16 2/32446 0.0062%
从结果来看,大致可以归纳为
1 一列中有一颗的情况,有1/2的情况发生
2 一列中有两颗的情况,有1/4的情况发生
3 一列中有三颗的情况,有1/8的情况发生
4 一列中有四颗的情况,有1/16的情况发生
5 一列中有五颗的情况,有1/32的情况发生
...
n 一列中有n颗的情况,有1/(n的2次方)的情况发生

–the end

2023-08-02-blackjack-21点-庄家闲家胜率统计

一 最近开发的go程序,用于计算21点游戏,庄家和闲家的胜率统计

  • 运行环境:vscode/ubuntu,32G内存
  • 运行条件:Blackjack基础策略[6副牌,庄家17点stand,闲家可以double,可以surrender,split之后,可以继续hit],参看文档末尾的策略图
  • 开启10个goroutine,每个goroutine循环10000次,也就是一共运行50万次
  • 每循环1次就是,牌靴中有6副牌的游戏流程[去掉大小鬼,每副牌52张],剩余20张的时候,一靴牌结束
  • 最小下注10,最大下注1000,原始筹码10000
  • 投注策略为固定筹码
  • 运行时间:2023-07-18 20:59:21
  • 运行时长:9:37(9分37秒)
  • 运行结果:
sum_deal_times:27501899 运行总发牌次数
sum_hands:28193145 运行总手数
sum_bets:315190090 闲家总下注
sum_profit:-6306785.00 闲家盈利
hands_per_shoe:56.39 每靴牌包含的手数
profit_per_shoe:-12.6136 每靴牌闲家盈利
profit_per_hand:-0.2237 闲家每手盈利
sum_profit/sum_bet:-0.020009 每下注1个筹码的盈利

sum_player_lose_hands:14311078 闲家输的手数
sum_player_push_hands:2224817 闲家和的手数
sum_player_win_hands:11657250 闲家赢的手数
player_lose_hands_ratio:0.5076 闲家输的概率【庄家赢的概率,胜率】
player_push_hands_ratio:0.0789 闲家和的概率【庄家和的概率】
player_win_hands_ratio:0.4135 闲家赢的概率【庄家输的概率】

二 运行结果解释

一共运行了2819.3145万手牌

庄家的胜率是50.76%,和的概率为7.89%,闲家胜率为41.35%

方便记忆的话,可以简单记忆为庄家51%,闲家41%,和8%

三 网络上也有相关的数据可以比对,比如下面的链接

https://www.onlinegambling.com/blackjack/odds/

Odds of Winning Blackjack The odds of winning at blackjack can be as high as 42.22%. However, this does not mean the house wins 57.78% of the time. That’s because there is a third possible result – a push. An average of 8.48% of blackjack games end in a push, leaving the probability of a loss at 49.10%.

四 golong程序使用svg输出的基本策略图

–the end