隨機數 簡學 隨機數問題

2021-10-13 15:56:02 字數 1024 閱讀 2403

隨機是概率論用語,指事前不可預言的,即在相同條件下重複進行試驗,每次結果未必相同,或知道事物過去的狀況,但未來的發展卻不能完全肯定,隨機也有「真隨機」與「偽隨機」。

「真隨機」比如量子力學,因為乙個放射性物質原子下一分鐘是否發生衰變是真正隨機的,不可預言的;

「偽隨機」由經過系統的不同的因素造成,或是由於忽略細節不考慮某些因素之後,在巨集觀上呈現出來的結果,比如扔骰子、玩轉輪等,若能精準確定受力因素、阻力因素等其結果也可以是確定唯一的,因為在經典力學系統下,事物的軌跡是確定唯一的。

計算機系統中的隨機數也存在真隨機數與偽隨機數,計算機中的真隨機數是靠獲取cpu頻率與溫度的不確定性以及統計一段時間的運算次數每次都會產生不同的值,系統時間的誤差以及音效卡的底噪等來產生的。

偽隨機數是由可確定的函式(線性同餘,平方取中等),通過乙個種子(時鐘)產生的。如果知道了種子,或者已經產生的隨機數,都可能獲得接下來隨機數序列的資訊。因為計算機本就是一種確定的,可**的的裝置它的邏輯單元是固定的,**演算法是固定的,通過這些固定的東西是不可能產生真隨機數的。

但是在我們的實際的應用中偽隨機數仍是有很高的使用價值,這是因為對於我們使用的系統而言若是忽略隨機數生成器的因素,它對系統產生的影響就是未知的;

若是我們的系統考慮了偽隨機數生成器的因素,則它對系統產生的影響就是已知的。

因此隨機數生成器廣泛應用於計算機和通訊等領域。

隨機數 偽隨機數

隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...

隨機數生成 偽隨機數和真隨機數

c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...

隨機數 科普 真隨機數和偽隨機數

位元幣使用者很喜歡討論 非對稱加密 橢圓曲線 量子計算機 這類高深莫測的話題,然後再以一種非常莫名其妙的方式把幣弄丟,比如說 隨機 隨機很重要,對於位元幣這種密碼學電子貨幣來說,尤其重要。可惜社群內對於隨機的討論並不多,導致很多人缺乏正確的認識,因此,我們今天就和大家聊聊隨機。說到隨機,有兩個必須要...