<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 篩子的點(diǎn)數,是隨機的嗎?

篩子的點(diǎn)數,是隨機的嗎?

發(fā)布人:電巢 時(shí)間:2022-12-02 來(lái)源:工程師 發(fā)布文章


打開(kāi)微信,往一個(gè)8人群里發(fā)一個(gè)9分錢(qián)的拼手氣紅包。那么不管你發(fā)多少次,最后一個(gè)搶紅包的人都必定能拿到兩分錢(qián),不信你可以試一試。顯然,在分配紅包金額這件事上,你手上的這臺小型計算機并不是真的隨機。那計算機是如何制造隨機事件的?各種軟件中的隨機都是真的隨機嗎?

在計算機中生成隨機事件的關(guān)鍵是輸出一個(gè)隨機數,然后再利用算法就能模擬出各式各樣的隨機事件。你剛才看到的拼手氣紅包背后就有這樣一套算法。其中的隨機數決定了你最后搶到的金額大小。如何才能得到這樣的隨機數呢?

1946年,計算機支付馮諾依曼提出了這么一套方案,編寫(xiě)一個(gè)隨機數生成器,只要輸入任意一個(gè)數字作為種子,計算機就能通過(guò)運算生成一個(gè)新的隨機數字。然后再把這個(gè)數字作為輸入值帶入下一輪計算,重復這個(gè)過(guò)程,就能生成多個(gè)具有統計意義的隨機數。


直到今天,你的手機電腦仍然在沿用這套隨機數生成方案,只是把隨機數生成器升級成了運算效果更好的線(xiàn)性反饋移位寄存器。隨機種子的花樣也更多了。從系統時(shí)間、鼠標位置到網(wǎng)絡(luò )速度,硬盤(pán)讀寫(xiě)速度,甚至是你聊天記錄的本地文件都可以被拿來(lái)當做隨機數生成的初始條件,決定最后的隨機結果。這樣得到的數字,乍看起來(lái)非常隨機。但受到算法的限制,只要取樣范圍夠大,數字排列早晚會(huì )陷入循環(huán)。所以這種方式產(chǎn)生的隨機數只能叫做偽隨機數。

以常用的梅森旋轉算法為例,它生成隨機數的循環(huán)周期是2的19937次方。哪怕全世界的計算機一起工作,直到太陽(yáng)系毀滅的那一天,你也等不到這個(gè)循環(huán)。但無(wú)論循環(huán)周期有多長(cháng),只要知道一開(kāi)始的隨機種子,再用同一個(gè)隨機數生成器,就能預測隨機結果。


比如在1994年,飛利浦的一名員工就弄到了當時(shí)的互聯(lián)網(wǎng)巨頭Netscape的服務(wù)器隨機種子,在輸入當前時(shí)間加特定字符之后,他就成功解密了對方所有網(wǎng)絡(luò )服務(wù)器的流量信息。

除了能完美預測偽隨機結果,你甚至還能主動(dòng)改變隨機種子的數值,讓所謂的隨機事件變成百分之百發(fā)生的必然事件。


比如2014年,俄羅斯的一位數學(xué)家就拆解了一臺舊老虎機,獲取了老虎機采用的偽隨機算法,然后設計了一套程序,只要用手機拍下其他人的****博過(guò)程,就能反推計算出老虎機所用的隨機種子。有了這套方法,你只需要找出對應時(shí)間點(diǎn)拉下拉桿就能歐神附體,百發(fā)百中。最終被丟出****場(chǎng)關(guān)進(jìn)局子。

說(shuō)到底,雖然偽隨機數應用廣泛,但它畢竟不是真正的隨機數,想要生成無(wú)法預測的真隨機數,還得從硬件層面想辦法。1999年,英特爾在其i810芯片組上集成了一枚真隨機數生成器。它通過(guò)放大電路產(chǎn)生的熱噪聲,把電路中分子的不規則熱運動(dòng)作為數據來(lái)源,這才讓計算機擁有了自主生成隨機數的能力。類(lèi)似的一些專(zhuān)門(mén)提供真隨機數服務(wù)的公司,還會(huì )通過(guò)收集現實(shí)世界中的隨機事件,比如大氣噪音的振幅變化,或者是人工擲骰子轉動(dòng)輪盤(pán)的結果。再把它們轉化為二進(jìn)制或者十進(jìn)制的數字,以此獲得更高品質(zhì)的隨機數資源。通過(guò)這些方式獲得的隨機數幾乎不可能預測,所以被稱(chēng)為真隨機數。他們主要被應用于安全或者密碼學(xué)領(lǐng)域,用來(lái)保護最重要的數據信息。

不過(guò)如果硬要抬杠,那么這種真隨機數其實(shí)也不夠隨機。因為宏觀(guān)現實(shí)世界里的一切隨機現象仍然遵循物理學(xué)的必然規律,只是我們這些凡人無(wú)法參透罷了。如果拉普拉斯妖真的存在,那么理論上它就能知曉所有原子的分布和動(dòng)量,算出任何色子的點(diǎn)數,破解一切加密的信息。如果想要實(shí)現絕對的隨機,那就只能求助于量子力學(xué)了。


隨著(zhù)技術(shù)發(fā)展,如今的研究人員已經(jīng)能夠通過(guò)記錄元素的衰變和放射情況,或者是探測真空中氬原子的噪音,或者統計出糾纏粒子出現的隨機位,設計出更新型的隨機數生成器。

在現有科學(xué)體系下,這種方式產(chǎn)生的數字沒(méi)有規律,在物理和哲學(xué)層面上都絕對不可預測,是真正意義上的隨機數。不過(guò)回歸現實(shí),用量子力學(xué)生成隨機數,技術(shù)難度實(shí)在太高,用芯片自帶的真隨機數生成器,輸出效率又太低。

你手上這臺計算機現在用的,其實(shí)還是尾隨基數。而且有時(shí)候過(guò)于隨機,也不一定是件好事兒。如果沒(méi)有軟件算法為用戶(hù)把控恰到好處的隨機感,而是直接讓這些隨機數來(lái)決定結果。那么你很可能在聽(tīng)音樂(lè )的時(shí)候,連續三次都聽(tīng)到同一首曲子。搶紅包的時(shí)候,每一次都是手氣最差。玩游戲的時(shí)候連抽一百張卡都沒(méi)有SSR。說(shuō)白了,你感受到的隨機根本就不是命運的捉弄,而是算法提前安排好的罷了。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 篩子

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>