什么是隨機(jī)(random)?字典中給出的定義是無計(jì)劃,無序和無目的,純靠運(yùn)氣。隨機(jī)是生活中必不可少的成分,比如彩票,游戲,安全,早餐吃什么,這些行為都有一些隨機(jī)的成分,但我們能說這些行為都是隨機(jī)的嗎?

      比如早餐,吃的人以為是隨機(jī)的,做什么吃什么,對(duì)廚師而言,可能是精心安排的,就不算隨機(jī)行為。游戲也是如此,隨機(jī)掉了一件裝備,你如獲至寶,其內(nèi)部是一個(gè)概率算法,如果你掌握了這個(gè)算法做了一個(gè)外掛,對(duì)你而言,這也不是隨機(jī)行為了。同理,很多安全密碼的密鑰都是隨機(jī)數(shù),比如核武器的按鈕,但難保哪天就被一個(gè)天才數(shù)學(xué)家破解了。

      我的意思是,很難定性判斷某一行為是否是隨機(jī)的。隨著我們掌握的信息越來越多,我們的決策算法越來越高效,我們的計(jì)算能力越來越強(qiáng)大,進(jìn)而有能力預(yù)測(cè)出目前無法預(yù)測(cè)的隨機(jī)行為。這就留下了一個(gè)有意思的問題,是否真的存在上帝,上帝是否擲骰子(隨機(jī)行為),在宇宙大爆炸前,上帝是否已經(jīng)設(shè)計(jì)好宇宙的發(fā)展?而我們的人生,是否早已寫好,只是看不見而已呢?當(dāng)然,目前一切還不得而知,萬一宇宙的產(chǎn)生只是一個(gè)意外呢?

移動(dòng)開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

移動(dòng)開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

      隨機(jī)并不絕對(duì),但生活中又要用到隨機(jī),歷史上有很多隨機(jī)數(shù)生成器(random number generator,簡(jiǎn)稱RNG),比如骰子。這方面,我們的祖先甚至寫了一本《易經(jīng)》,可以理解為如何生成隨機(jī)數(shù)并破解隨機(jī)行為的百科全書。

      根據(jù)不同的方法,大概分為兩種方式:T(rue)RNG和P(seudo)RNG。兩者有什么區(qū)別呢?

TRNG

      通過一些物理現(xiàn)象來產(chǎn)生隨機(jī)數(shù),比如大氣層的噪音,元素的衰變和放射,擲骰子等,因?yàn)檫@些行為受到多個(gè)自然因素的影響,過程不可預(yù)測(cè),所以主觀上覺得比較安全。所以,當(dāng)我們對(duì)安全性和經(jīng)濟(jì)性上有較高要求時(shí),往往需要采用這類方式產(chǎn)生的隨機(jī)數(shù),比如彩票,人類不會(huì)放心的把這件事情交給機(jī)器來處理,一定要有儀式感,讓它看上去是隨機(jī)的。

      然而,公正的行為不一定會(huì)產(chǎn)生公平的結(jié)果。相比而言,TRNG更大的優(yōu)勢(shì)在于不可預(yù)測(cè)性,但結(jié)果上并不一定平均。

PRNG

      偽隨機(jī)數(shù)通過算法產(chǎn)生,計(jì)算機(jī)因此可以模擬隨機(jī)行為。但因?yàn)橛泄?,所以只要參?shù)確定,也就是隨機(jī)的種子,得到的隨機(jī)結(jié)果一定是可重復(fù)的。比如如下的通隨機(jī)數(shù)生成公式,給出種子1,就可以得到一系列的隨機(jī)數(shù)。

移動(dòng)開發(fā)培訓(xùn),Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),手機(jī)維修培訓(xùn),手機(jī)軟件培訓(xùn)

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式