python抽奖概率设计_通过python分析原神,结果出现了“这种情况”
最近迷上了原神這款游戲,趁著保研完,肝了兩個(gè)星期,也氪了一些金。先不談這款游戲可玩性有多高,但論氪金強(qiáng)度算是我從小到大玩的游戲中,能排得上第一的了。
對(duì)于這種寸卡寸金的游戲,如何在無窮無盡的抽卡活動(dòng)中,做到理性抽卡,無疑需要嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)分析,才能了解大概氪多少金才能滿足自己的預(yù)期。本文將對(duì)此做出一定的解答。
同時(shí),本文對(duì)于網(wǎng)上一直所傳的氪不改命,玄不救非之說,也將進(jìn)行一定的抨擊。
假設(shè)陳述
- 原神抽獎(jiǎng)卡池,在非保底的情況下,抽到五星的概率為基礎(chǔ)概率,即0.6%
符號(hào)說明
符號(hào)含義X XX表示在平均概率下進(jìn)行
獨(dú)立重復(fù)試驗(yàn)中第一次
抽到五星的次數(shù)的隨機(jī)變量P ( s u c c e s s ) P(success)P(success)表示抽到五星的平均概率P ( b o t t o m ) P(bottom)P(bottom)表示保底情況出現(xiàn)的概率P ( b a s e ) P(base)P(base)表示抽到五星的基礎(chǔ)概率
已知:0.6%n nn表示保底在第幾次未抽中時(shí)出現(xiàn)
已知:90P ( s u c c e s s ∥ b o t t o m ) P(success|bottom)P(success∥bottom)表示在保底情況下抽中五星的概率
已知:1P ( s u c c e s s ∥ b o t t o m  ̄ ) P(success|overline{bottom})P(success∥bottom)表示在非保底情況下抽中五星的概率
已知:P ( b a s e ) P(base)P(base)
目標(biāo)變量
P ( s u c c e s s ) P(success)P(success)
求解方法
- 法一:
運(yùn)用全概率公式,寫出方程組,直接進(jìn)行求解。
{ P ( b o t t o m ) P ( s u c c e s s ∥ b o t t o m ) + P ( b o t t o m  ̄ ) P ( s u c c e s s ∥ b o t t o m  ̄ ) = P ( s u c c e s s ) P ( s u c c e s s ) ( 1 ? P ( b a s e ) ) n ? 1 = P ( b o t t o m ) left{P(bottom)P(success∥bottom)+P(bottomˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ)P(success∥bottomˉˉˉˉˉˉˉˉˉˉˉˉˉˉˉ)=P(success)P(success)(1?P(base))n?1=P(bottom)P(bottom)P(success‖bottom)+P(bottomˉ)P(success‖bottomˉ)=P(success)P(success)(1?P(base))n?1=P(bottom)ight.{P(bottom)P(success∥bottom)+P(bottom)P(success∥bottom)=P(success)P(success)(1?P(base))n?1=P(bottom)
代入,得:
{ P ( b o t t o m ) + 0.006 ( 1 ? P ( b o t t o m ) ) = P ( s u c c e s s ) P ( s u c c e s s ) ( 1 ? 0.006 ) 89 = P ( b o t t o m ) left{P(bottom)+0.006(1?P(bottom))=P(success)P(success)(1?0.006)89=P(bottom)P(bottom)+0.006(1?P(bottom))=P(success)P(success)(1?0.006)89=P(bottom)ight.{P(bottom)+0.006(1?P(bottom))=P(success)P(success)(1?0.006)89=P(bottom)?
求解,得:
P ( s u c c e s s ) = 0.01435 ± 0.000005 P(success)=0.01435pm0.000005P(success)=0.01435±0.000005 - 法二:
通過間接求解,在平均概率下進(jìn)行獨(dú)立重復(fù)試驗(yàn)中第一次抽到五星的次數(shù)的期望,進(jìn)行求解。
E [ X ] = ∑ i = 1 n ? 1 i ? P ( b a s e ) ( 1 ? P ( b a s e ) ) i ? 1 + n ? ( 1 ? ∑ i = 1 n ? 1 P ( b a s e ) ( 1 ? P ( b a s e ) ) i ? 1 ) = ∑ i = 1 89 i ? 0.006 ( 1 ? 0.006 ) 89 + 90 ? ( 1 ? ∑ i = 1 89 0.006 ( 1 ? 0.006 ) 89 ) ≈ 69.6998 E[X]=sum_{i=1}^{n-1}i*P(base)(1-P(base))^{i-1}+n*(1-sum_{i=1}^{n-1}P(base)(1-P(base))^{i-1}) quad =sum_{i=1}^{89}i*0.006(1-0.006)^{89}+90*(1-sum_{i=1}^{89}0.006(1-0.006)^{89}) quad approx69.6998E[X]=∑i=1n?1?i?P(base)(1?P(base))i?1+n?(1?∑i=1n?1?P(base)(1?P(base))i?1)=∑i=189?i?0.006(1?0.006)89+90?(1?∑i=189?0.006(1?0.006)89)≈69.6998
P ( s u c c e s s ) = 1 E [ X ] P(success)=frac{1}{E[X]}P(success)=E[X]1?(這個(gè)等式,概率論那本書上好像沒有,不過我自己私下里證明過了,感興趣的同學(xué)可以自行證明)
那么,可以得到與法一相同的結(jié)果,證明了結(jié)果的正確性。
結(jié)論
可以看到的是我們得出的平均概率1.435%是略小于官方給出的平均概率1.6%的。
很顯然,這說明,即使在未保底的情況下,我們抽中五星的概率可能并非是基礎(chǔ)概率0.6%。
結(jié)合這幾天,我看的PDD抽獎(jiǎng)的視頻,我發(fā)現(xiàn)確實(shí)在一些之前很非的情況下,后面抽到五星的頻率顯著變高。
當(dāng)然,我并不清楚原神抽獎(jiǎng)內(nèi)部究竟是怎樣的機(jī)制,不過或許可以借助這一點(diǎn),再結(jié)合一些大佬的分析,在五十抽向后的概率或許確實(shí)有一定的提升。所以大家注意好這點(diǎn),抽雙黃吧!
當(dāng)然,這也僅僅是概率的提高,可能樣本量少一點(diǎn)的話,在實(shí)際抽獎(jiǎng)中,根本感覺不到那種概率的提升。所以,也僅供大家參考。同時(shí),大家也要考慮一下自己的經(jīng)濟(jì)水平究竟如何,有多大經(jīng)濟(jì)水平,有多大期望。
這里我用python做了一個(gè)小實(shí)驗(yàn),用直方圖展示10000個(gè)玩家,在我上述假設(shè)的那種情況下抽獎(jiǎng)2000次,抽到五星的次數(shù),并與無保底的轉(zhuǎn)換平均概率(0.01435)進(jìn)行了比較。
# -*- coding: utf-8 -*-import matplotlib.pyplot as pltimport randomimport numpy as npfrom pylab import mplmpl.rcParams['font.sans-serif'] = ['SimHei']random.seed(0)data1=[]data2=[]n=10000epoches=2000prob=0.006prob_trans=0.01435for i in range(n): curcnt=0 counter=0 for epoch in range(epoches): rand=random.random() counter+=1 if rand從左圖中,大家可以估計(jì)一下,自己抽多少次,能拿到多少五星。
同時(shí),通過上圖的對(duì)比,可以看出,在原神抽獎(jiǎng)的機(jī)制下,并不會(huì)出現(xiàn),特別非酋,或者特別歐皇的情況。最非酋和最歐皇的,也就是一倍之差。所以,大家也不要相信網(wǎng)上那些一個(gè)十抽多少黃的視頻了,肯定是P的。
即使出了雙黃的兄弟,之前也是大概率流下過非酋的眼淚。
所以,這個(gè)游戲,沒有絕對(duì)的非酋,也沒有絕對(duì)的歐皇,合理估計(jì)自己能拿到的五星,不要有非分之想,方為正途!
小編是一名python開發(fā)工程師,這里有我自己整理了一套最新的python系統(tǒng)學(xué)習(xí)教程,包括從基礎(chǔ)的python腳本到web開發(fā)、爬蟲、數(shù)據(jù)分析、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)等。想要這些資料的可以關(guān)注小編,并在后臺(tái)私信小編:“01”即可領(lǐng)取
總結(jié)
以上是生活随笔為你收集整理的python抽奖概率设计_通过python分析原神,结果出现了“这种情况”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各种 MacBook 和 5K iMac
- 下一篇: 社保公积金提取转移手续