什么是隨機(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è)意外呢?
隨機(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ù)。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26