Re: [問題][霧車] 關於賭場poker推演

看板DMM_GAMES (DMM)作者 (悟)時間3年前 (2022/06/06 21:31), 3年前編輯推噓7(704)
留言11則, 10人參與, 3年前最新討論串2/2 (看更多)
理論與實務要結合。 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://www.ptt.cc/bbs/DMM_GAMES/M.1654522308.A.1B1.html

06/06 21:41, 3年前 , 1F
你們wwwwww推詳細計算XD
06/06 21:41, 1F
※ 編輯: nahsnib (1.169.188.242 臺灣), 06/06/2022 21:43:03

06/06 22:31, 3年前 , 2F
是不是叫我該M起來?
06/06 22:31, 2F

06/06 23:46, 3年前 , 3F
( ╮ ′ _ > ` )a ???
06/06 23:46, 3F

06/07 00:29, 3年前 , 4F
(′・ω・‵) 嗯?蛤?
06/07 00:29, 4F

06/07 06:33, 3年前 , 5F
連code 都有 不過出社會後覺得當碼農太肝改行 忘得差不
06/07 06:33, 5F

06/07 06:33, 3年前 , 6F
多了xd
06/07 06:33, 6F

06/07 08:41, 3年前 , 7F
官方請實裝自動連賭功能
06/07 08:41, 7F

06/07 13:12, 3年前 , 8F
車車賭場還很lag嗎,gbf那種才叫一個順
06/07 13:12, 8F

06/07 16:05, 3年前 , 9F
居然寫成code...真有你的
06/07 16:05, 9F

06/07 21:26, 3年前 , 10F
06/07 21:26, 10F

06/08 21:31, 3年前 , 11F
...快推不然別人會以為我看不懂(X
06/08 21:31, 11F
文章代碼(AID): #1YdW746n (DMM_GAMES)
討論串 (同標題文章)
文章代碼(AID): #1YdW746n (DMM_GAMES)