當前位置:名人名言大全網 - 笑話故事 - 偽隨機和真隨機

偽隨機和真隨機

真偽隨機其實分別指的是幾率和概率

很久以前流傳著這樣壹則笑話:壹個身患重病的人決定去動手術。在手術之前,他問醫生:“這起手術的成功率是多少?”醫生回答他:“只有1%。”他很驚慌,但是醫生說:“沒事的,在妳之前我已經治死過99個人了。”

這是壹則嘲笑那些不懂“概率”的人的笑話,卻講出了“真隨機”和“偽隨機”之間的區別。

1.隨機性:完全紊亂;

2.不可預測性:從現有號碼,無法推斷下壹個數字;

3.不可重復性:隨機數之間沒有重復。

真隨機數是伴隨物理實驗,例如:擲硬幣、擲骰子、電子元件噪聲、核裂變等,其結果符合三個特點。

偽隨機數是通過某種算法,獲取隨機值,不是真的很隨機。

偽隨機數分為強偽隨機數和弱偽隨機數。

1.強偽隨機數:接近真實隨機數,令人滿意的特性。隨機性與不可預測性,不可預知的。

2.弱偽隨機數:滿足隨機性,可預測的。

在遊戲當中我們壹直提到的“真隨機”和“偽隨機”,到底是什麽意思?

我們通常說的真隨機又名“純隨機”(True Random Distribution),就是我們平常壹直說的那種、壹般意義上的“隨機”。

在真隨機中,每壹個事件都是相互獨立、服從真隨機分布的,不受其他事件的發生而改變。比方說某款遊戲為了吸引用戶,擁有這麽壹個隨機抽卡系統:每次抽卡時,都有1%的幾率抽出SSR卡片,這個概率服從真隨機分布。

回到我們最開始說的那個“治死99個”的笑話:我們壹眼就能看出這個笑話的不合理性。但在抽卡遊戲中,我們的大腦瞬間失去理智。有相當壹部分玩家認為:我連抽100次,總能抽到這張卡吧!

實際上,連抽100次卻抽不出1%的SSR卡的幾率是為(1-0.01)^100=36.6%,甚至還稍稍超過了1/3。將連抽數字上升至300,也仍有4.9%的幾率。

換句話說,假設有10000個玩家連抽100次,就有約3660個玩家抽不出這張SSR;10000個玩家連抽300次,也仍有約490個玩家抽不出這張SSR——這對玩家的遊戲體驗來說可以說是毀滅性的打擊。

設計者們提出了“偽隨機”的概念:在不確定性的隨機事件當中,通過壹系列算法使隨機事件均勻分布在多次事件當中,盡可能減少或消除極端情況的發生,以提高玩家的遊戲體驗。

制造“偽隨機”的方法有很多,

N表示當前攻擊的次數,P(N)表示當前攻擊的暴擊率,C為概率增量。如果我們這次攻擊產生了暴擊,則需要將 N 重置為 1,如果這次攻擊沒有產生暴擊,則 N + 1。

為了便於理解,這裏直接給出壹個具體例子:

設我們當前玩家角色暴擊率還是0.5,那麽對於 PRD算法,此時的 C = 0.3

可以看到,使用 PRD 算法,對於攻擊是否會暴擊這壹問題,仍然是存在著隨機性即玩家的運氣因素的,但即使是運氣最差的玩家,仍然也會在第四次攻擊時產生暴擊,因此PRD算法可以在保存隨機性的同時,減少玩家運氣因素對遊戲結果的影響。

真隨機: 有壹天,小明在的班級上舉辦了壹次抽獎活動。這個班級有40個學生,所以為了公平起見,保證每個學生都有1/40的幾率中獎,老師準備了40個相同的紙盒,每個紙盒中都有40張紙條,有1張紙條是中獎紙條。這樣壹來,每個學生都有1/40的幾率中獎,但每個學生是否中獎並不受其他學生的影響。在極端情況下,這個班上可能40個學生都能中獎。這就是真隨機。

偽隨機: 小明班上舉辦了抽獎活動。為了公平起見,老師準備了1個紙盒,紙盒中有40張紙條,只有1張紙條是中獎紙條。這樣壹來,每個學生都有1/40的幾率中獎——但是顯而易見,這個班上有且僅有壹名學生能夠中獎。壹名學生在中獎後,余下的所有學生中獎幾率都會減少至0。這就是偽隨機。