2012-10-26 132 views
1

我試圖計算出一個合適的超時時間,我正在寫一個實時模擬器:超時概率

對於p =成功的概率,時間爲一個成功的請求= M,而對於時間失敗的嘗試= f。 5次成功申請的平均時間是多少?

+1

這可能更適合Stack Exchange的數學部分,因爲它與編程沒有直接關係。 – Shaded

+0

請注意,平均時間可能不是超時的最佳指標,我會對分位數更感興趣(例如,足夠完成90%成功請求的時間)。 – Mathias

回答

0

我們調用總嘗試次數x。

x = 5p + (x-5)(1-p) 
x = 5/p 

的總時間將是

t = 5m + (x-5)f 

t = 5m + (5/p - 5)f 

若m = 1,F = 2,並且p = 0.1,答案應爲5×1 + 45 * 2 = 95.結束檢查。

這裏可能有錯誤,但我盡了全力。

0

這可能是對統計數據交換更合適的,順便說一下,但這裏的答案:

如果你想的平均時間,你需要平均值得到您的五個需要試驗的可能的總數成功。這可能是從5到無限的任何地方(它需要至少5次試驗才能獲得5次成功,並且理論上可能會有無窮無盡的失敗次數)。我建議你可以高興地在合理的點解決這個問題,以得到一個精確到小數點後幾位的答案,除了p的病理值。設n是我們想要觀察x = 5次成功的試驗次數。 n次試驗中5次成功的概率由binomial distribution給出,由x,n和p參數化。讓Bin(x; n,p)是二項式概率,那麼與此相關的時間是:

5m + (n-5)f 

爲了得到這個數量的期望(平均),那麼你要的總和:

Bin(5; n,p) * 5m + (n-5)f 

爲N = 5到n = inf。根據你的p值,你應該能夠在n = 20到30之間停下來,並且仍然可以獲得相當準確的答案。請注意,如果您正在使用二項式概率的簡單實現,那麼涉及n!項的二項式係數的計算可能會失敗,因此您可能需要考慮二項式的正態近似。