作者nahsnib (悟)
看板DMM_GAMES
标题Re: [问题][雾车] 关於赌场poker推演
时间Mon Jun 6 21:31:45 2022
理论与实务要结合。
import random
false_times_1 = 0
false_times_2 = 0
times = 1000
#3900测times次
money = 0
level = 0
steps = 1
for steps in range(1,times):
#一开始没有钱
money = 0
#赚到超过就停止
while money < 500:
#设定翻倍次数为0次
level = 0
#抽初始卡,计算卡的点数,计算上会是0~12
card_now = random.randint(0,51)
card_now_point=int(card_now/4)
#如果还没到8次就继续
while level<8:
#抽下一张卡,但不能抽到同一张卡,抽到就重抽
card_next = random.randint(0,51)
while card_now == card_next:
card_next = random.randint(0,51)
card_next_point=int(card_next/4)
#如果当前点数大於7,都猜小。
if card_now_point > 5:
#如果下一张卡点数小於当前卡牌,翻倍,并且将当前卡片设为抽起来的卡片
if card_next_point < card_now_point:
level+=1
card_now=card_next
card_now_point=card_next_point
#如果下一张卡点数大於当前卡牌,失败,倍率归零,一切重来但失败次数+1
elif card_next_point > card_now_point:
level=0
false_times_1+=1
card_now = random.randint(0,51)
card_now_point=int(card_now/4)
#如果点数相等,那就啥都没发生,再来一次;这时候卡就当作不用重抽没关系
#如果当前点数小或等於7,都猜大。
else :
#如果下一张卡点数小於当前卡牌,翻倍并且将当前卡片设为抽起来的卡片
if card_next_point > card_now_point:
level+=1
card_now=card_next
card_now_point=card_next_point
#如果下一张卡点数大於当前卡牌,失败,倍率归零,一切重来但失败次数+1
elif card_next_point < card_now_point:
level=0
false_times_1+=1
card_now = random.randint(0,51)
card_now_point=int(card_now/4)
#如果点数相等,那就啥都没发生,再来一次;这时候卡就当作不用重抽没关系
#累积8次成功後,奖金增加,往下一次前进
money += 199
#做到额度全满,也就是赢三次结束
#5000测times次
money = 0
level = 0
steps = 1
for steps in range(1,times):
#一开始没有钱
money = 0
#赚到超过就停止
while money < 500:
#设定翻倍次数为0次
level = 0
#抽初始卡
card_now = random.randint(0,51)
#计算卡的点数,计算上会是0~12
card_now_point=int(card_now/4)
#如果还没到7次就继续
while level<7:
#抽下一张卡,但不能抽到同一张卡,抽到就重抽
card_next = random.randint(0,51)
while card_now == card_next:
card_next = random.randint(0,51)
#计算卡的点数,计算上会是0~12
card_next_point=int(card_next/4)
#如果当前点数大於7,都猜小。
if card_now_point > 5:
#如果下一张卡点数小於当前卡牌,翻倍,并且将当前卡片设为抽起来的卡片
if card_next_point < card_now_point:
level+=1
card_now=card_next
card_now_point=card_next_point
#如果下一张卡点数大於当前卡牌,失败,倍率归零,一切重来但失败次数+1
elif card_next_point > card_now_point:
level=0
false_times_2+=1
card_now = random.randint(0,51)
card_now_point=int(card_now/4)
#如果点数相等,那就啥都没发生,再来一次;这时候卡就当作不用重抽没关系
#如果当前点数小或等於7,都猜大。
else :
#如果下一张卡点数大於当前卡牌,翻倍并且将当前卡片设为抽起来的卡片
if card_next_point > card_now_point:
level+=1
card_now=card_next
card_now_point=card_next_point
#如果下一张卡点数小於当前卡牌,失败,倍率归零,一切重来但失败次数+1
elif card_next_point < card_now_point:
level=0
false_times_2+=1
card_now = random.randint(0,51)
card_now_point=int(card_now/4)
#如果点数相等,那就啥都没发生,再来一次;这时候卡就当作不用重抽没关系
#累积7次成功後,奖金增加,往下一次前进
money += 128
#做到额度全满,也就是赢四次结束
#输出总失败次数
print(false_times_1,false_times_2)
跑了几次之後得到
29254 27368
29285 27770
29075 28483
29275 28505
29431 27978
看,总之差不多。
除以测试的1000次之後,我们大致上可以得到赌3900的,每天会翻车约29.3次,
赌5000的大概每天翻车28次,然而每天前者每天多赚了100万,可以更早达到筹码自由。
当然这只讨论只会中三条兔胚,不过纳入其他做考量实在太麻烦了。
如果哪里写错请再指教,谢谢。
※ 引述《jpopaholic (日音スキ)》之铭言:
: 虽然版上或其他攻略网都有赌场poker心得,但感觉都有点奇怪
: 於是几天前我自行推演一下,好像有更好的玩法
: 先从比大小机率推演开始(梭哈部分比较难,之後推演)
: 若无脑随便压机率是1/2,但是可以根据牌型判断大小,所以不是单存1/2
: 一堆网站攻略都有各数字大小的机率
: 但是它们都把平手视为另外的机率
: 但是这游戏平手不是赢也不是输(虽然可以途中反悔,但前期是跟的情况下)
: 是重新比一次
: 所以胜/输的机率就不是单存攻略所写的
: 而是:
: 赢/输一次 + 平手一次之後赢/输一次 + 平手两次之後赢/输一次 + .... +
: 平手无限次後赢/输
: 假设赢/输的机率是p
: 那机率就是: p 乘以 sigma n = 0 to infinity ( 3/51 )^n
: (平手机率是3/51)
: 这算出来是 17/16 * p
: 所以实际输/赢机率都要乘上 17/16
: 所以庄家出A赢的机率就变成: 12*4/51 * 17/16 = 100%
: 之後以此类推
: 得知一次比大小若不手残能赢的机率是:
: 1/13 * ( (12+11+10+..+7)*4*2+6*4)/51 ) * 17/16 = 10/13
: 虽然从第二局比大小开始,庄家会拿闲家的牌,但不论庄或闲都是庄家发牌
: 所以可以视为每一局都是独立机率
: 所以挑战10次赢得大奖的机率是 (10/13)^10 ~= 7.25%
: (其实不算高)
: 然而由於每赢一次都是基数两倍,所以会乘指数上涨
: 变相连赌x次的赢倍率期望值为:
: (10/13)^x * 2^x
: https://i.imgur.com/8uOFXh0.png
: 这计算若x = 5 则 f(x) ~= 8.6
: x = 9 则 f(x) ~= 48.28
: x = 10 则 f(x) ~= 74.27
: 但是这赌场不是单纯只比大小(不然拉斯维加斯一定破产被大家淦)
: 前面还有梭哈机制
: 虽然有hold和鬼牌机制,会使得算梭哈机率变得超级难算
: (而且还不知道鬼牌是一张还是两张)
: 所以梭哈部分单纯不考虑鬼牌和hold(其实加上这两项不会使得机率提高)
: 这部分计算复杂,直接拿wiki计算比较快(wiki有详细解释):
: https://zh.m.wikipedia.org/zh-tw/%E6%92%B2%E5%85%8B%E7%89%8C%E5%9E%8B
: 得知拿杂牌机率是 ~50.12% 一对机率是 ~42.26%
: 所以能比大小的入门门槛是 ~ 1-50.12%-42.26%
: 这算出来约 7.62% (因为underflow关系我们算8%)
: 以下先假设不论牌型基础倍率皆相同(不然很难算)
: 所以刚刚的赢得倍率期望值还有再乘以8%
: 得到:
: x = 5 , f(x) = 0.688
: x = 9 , f(x) = 3.862
: x = 10 , f(x) = 5.946
: 所以巴O推荐连赢五场就收其实很不好,因为期望值很低,只能慢慢已基底0.6倍
: 慢慢累积
: 至於9场或10场我觉得看个人,若有保握尽量10场,但9场与10场约只差两倍
: 因为一局梭哈+比大小速度很快,所以可以一直连刷
: 变相连续x场梭哈+比大小
: 没有一局10场大小赢的机率为
: (1-(10/13)^10*8%)^x
: 至少一局10场大小赢的机率为
: 1-(1-(10/13)^10*8%)^x
: 当x=20 机率约 10%
: 当x=100 机率约 44%
: 当x=300 机率约 82%
: 当x=400 机率约 90%
: 当x=600 机率约 97%
: 所以巴O说机抵用赌本1/300有点危险,应为期望机率有82%
: 用1/400比较安全,期望机率有90%
: 而且用1/300 回本时赚赌本的 1/300 * 2^10 ~= 3.4 倍
: 用1/400 回本时赚赌本的 1/400 * 2^10 = 2.56 倍
: 当然用很保险的1/600 去赌 ,但是回本只会拿约 1.7倍
: 所以没赌本的时候,我还是倾向於用1/400赌本下去赌
: 因为赢一次就用更大的赌本去赌,所以赢前会变成指数性成长
: 不论是2.56^x 或是 3.4^x ,很快就撞到每日上线
: 这样推论应该比较完整吧?
: 至於若 1/400 或 1/300 赌本 撞到上限 5000
: 用5000还是期望值最高的3900赌哪个好?
--
以双眼亲睹灵魂的奥秘
以双手掌握生命的法则
人类不应触及,仅属於神只的禁忌之天顶…不曾存在!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.169.188.242 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/DMM_GAMES/M.1654522308.A.1B1.html
1F:推 kimokimocom: 你们wwwwww推详细计算XD 06/06 21:41
※ 编辑: nahsnib (1.169.188.242 台湾), 06/06/2022 21:43:03
2F:推 windnduck: 是不是叫我该M起来? 06/06 22:31
3F:推 npc776: ( ╮ ′ _ > ` )a ??? 06/06 23:46
4F:→ yoyofish02: (′・ω・‵) 嗯?蛤? 06/07 00:29
5F:推 bigbeat: 连code 都有 不过出社会後觉得当码农太肝改行 忘得差不 06/07 06:33
6F:→ bigbeat: 多了xd 06/07 06:33
7F:推 Tsucomi69: 官方请实装自动连赌功能 06/07 08:41
8F:→ billy791122: 车车赌场还很lag吗,gbf那种才叫一个顺 06/07 13:12
9F:→ tom00000tw: 居然写成code...真有你的 06/07 16:05
10F:推 refusekkk: 推 06/07 21:26
11F:推 Alicputster: ...快推不然别人会以为我看不懂(X 06/08 21:31