日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

取一定范围内随机小数 c_算伪随机概率中C值的快捷方法

發(fā)布時間:2024/7/19 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 取一定范围内随机小数 c_算伪随机概率中C值的快捷方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目前計算偽隨機概率C值的方法,一般是二分法。二分法是個非常討厭的方法,因為雖然簡單卻麻煩,想算個稍微精確點的數(shù),需要十分巨大的計算量。如果像高中時那樣手動計算,真是要算到眼花。

本文給出了一個十分簡單快捷的方法,來計算C值,無需編程,僅需一個excel表就行。

注:前面幾段是本方法的理論依據(jù)證明,如果嫌字多,可以直接跳到"用Excel表算C值"那一部分開始看。不過如果你直接跳到那一段看,不一定能看懂,O(∩_∩)O哈哈~


偽隨機概率簡單介紹

我們拿dota白牛的被動暈來舉例:17%概率重擊。為什么不拿劍圣來舉例?已經(jīng)有人用劍圣算過了,我要是還用劍圣算,難免有借別人結(jié)論胡說八道的嫌疑。

白牛第1次重擊的概率為c;

若白牛第1次未重擊,則第2次重擊概率為2c;

若白牛第2次未重擊,則第3次重擊概率為3c;

........

當nc≥1時,必定重擊。

每次重擊之后,下次攻擊重擊概率變?yōu)閏。

算出重擊次數(shù)的期望值=

所對應(yīng)的c值,即可。

從上面可以看出:偽隨機概率中說的“17%概率”并不是真的每下攻擊的重擊概率都是17%,而是一個不斷增加的概率,滿足重擊次數(shù)期望值為


數(shù)列的方法算C值

根據(jù)上面介紹,于是我們有了常規(guī)計算思路:

白牛第1下 就 重擊的概率=c

白牛第2下 才 重擊的概率=2c

(1-c)

白牛第3下 才 重擊的概率=3c

(1-c) (1-2c)

.....

白牛第n下 才 重擊的概率=nc

(1-c) (1-2c)....[1-(n-1)c]

于是這個問題就轉(zhuǎn)化為如下數(shù)列問題:

已知數(shù)列{

}的通項公式為 = c (1-c) (1-2c)....[1-(n-1)c],求數(shù)列{ }的前n項和公式 。

我們算出

之后,根據(jù)方程組: = ,n=[ ]+1,可以算出c的值。(注:[ ]為向下取整符號)

不過可惜的是這個前n項和公式似乎無法算出。退一萬步講,就算可以算出,

= 也將是個高次方程,我們知道常規(guī)一元五次方程以上是沒有根式解的。所以,我們想通過這種方法算出C的精確數(shù)值是不可能的。沒辦法,我們只能使用二分法了。

二分法算偽隨機概率C值

=0.0001,那么:

白牛第1下就重擊概率

=0.0001;

白牛第2下才重擊概率

=0.0002 (1-0.0001);

白牛第3下才重擊概率

=0.0003(1-0.0001)(1-0.0002)

....

此時重擊次數(shù)期望值E=1

+2+3+....+10000 >

所以c>0.0001。

=0.15,重復(fù)上面步驟,可得此時E<。

所以c<0.15

取c=(0.0001+0.15)/2=0.07505,重復(fù)上面步驟得此時E<

取c=(0.0001+0.07505)/2

重復(fù)上述步驟......直到E非常接近

時,這時的c值即為所求。

我就不算下去了,因為計算量太大了,總共可能要我算幾百萬個小數(shù)相乘啊,累!

接下來我介紹一個非常簡便快捷的算C值的方法。


用EXCEL算C值

如下圖:具體如何編輯Excel中各列單元格已經(jīng)寫在圖中了。

我們改動F2單元格的數(shù)值,使得G2單元格接近17%,則F2單元格此時的數(shù)值即為C值。

例如:白牛的17%概率重擊對應(yīng)的C值就是0.04092

解釋一下這個表格的意思:

F2單元格:表示C值。

在這里手動輸入C值,使得G2單元格的數(shù)值滿足你的精確度需求時,就是我們想要算的那個C值。

G2單元格:表示F2單元格對應(yīng)C值的面板暴擊概率。

說的很拗口,舉個例子,相當于dota里白牛的“17%”。

A列:記錄次數(shù)。

A2單元格數(shù)值為1。

從A3單元格開始,如果A列上一單元格為0,則當前單元格也為0。

如果A列上一單元格不為0,并且A列上一單元格<1/c,那么當前單元格為上一單元格+1。

如果A列上一單元格不為0,并且A列上一單元格≥1/c,那么當前單元格為0 。

為什么這樣?因為在偽隨機概率下,當前次數(shù)暴擊的概率=當前次數(shù)*C,當當前次數(shù)的暴擊概率≥1時,必定暴擊。因此若上單元格≥1/c,那就說明上一次的暴擊概率≥1,已經(jīng)必定暴擊了。

B列:記錄當前次數(shù)的實際暴擊概率。

實際暴擊概率=當前次數(shù)*C值

C列:記錄當前次數(shù)不暴擊的實際概率。

不暴擊的實際概率=1-實際暴擊的概率

D列:記錄首次暴擊發(fā)生在當前次數(shù)的概率。

首次暴擊發(fā)生在當前次數(shù)的意思是:之前所有次數(shù)不暴擊、而當前次數(shù)暴擊。也就是前面一段"數(shù)列法算C值"中的


偽隨機概率的特點

1、dota里說白牛的重擊概率是17%,但是實際上白牛第1下打出重擊的概率只有4%。

運氣再怎么差的人,25下也必定會觸發(fā)被動暈,不過這種情況非常少見,只有50億分之一。

2、偽隨機概率下,在5-6下左右第一次出重擊的幾率最大。上來就重擊或者10多下才重擊的概率較小,遷就了玩家的錯誤認知。(沒辦法糾正玩家的思維,只能遷就他們的思維了)

而自然概率下,第1下第一次出重擊的概率最大,往后越來越小。

總結(jié)

以上是生活随笔為你收集整理的取一定范围内随机小数 c_算伪随机概率中C值的快捷方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。