回答
它可以。根據您的隨機數的定義:
在大多數應用中,你從一個隨機數發生器所期望的是產生的均勻分佈數字序列。垃圾值不提供此特性。
是否可以創建一個真隨機數?
如果您將「真正隨機」定義爲不可預測,那麼問題是「什麼不可預測的?」。
有cryptographically secure (pseudo-)random number generators試圖從用戶級代碼隱藏隨機數生成器的狀態,也就是說,理想情況下,只有內核模式的代碼可以切實預測下一個隨機數。然而,孤立的計算機系統(沒有任何外部輸入)是確定性的有限狀態機。也就是說,通過了解機器的當前狀態,您可以預測下一個狀態,即總是。所以,如果你的意思是一般軟件系統「不可預知」,否則你不能使用確定性系統根據這個定義產生「真正的隨機性」。
還有另一種更具哲理性的不可預測性。即使你依賴外部輸入(如大氣噪聲或其他手段),他們真的不可預測嗎?有人可能會爭辯說,我們生活在一個確定性的世界中,就像數字計算機一樣,一切都有決心要發生;所以,沒有任何隨機性。我沒有答案。
但是,它可以用作某些時間段內種子的輸入。比如,每x分鐘播種一次垃圾。 – Dykam 2009-09-20 11:47:10
+1使用迪爾伯特澄清一點... – Smalltown2k 2009-09-20 11:55:39
他改變了顏色。 :O – shuckster 2009-09-20 12:02:16
垃圾值是不可預測的,你不能對它們做任何假設。如果你想要一個真正的隨機數,你的算法將不得不涉及一些「現實世界」變量(例如,CPU溫度,風扇速度,環境噪聲......)。否則,你的「隨機」值將是非常可預測的。
沒有已知的「真實」隨機數發生器(截至目前),但我們確實有僞隨機數發生器,它們生成的數字可以作爲「實際」目的的隨機數。
你不能用軟件來做,但採樣熱噪聲或核衰變是隨機的。所以我們有真正的硬件隨機數發生器。 – 2009-09-20 11:56:16
除了僞隨機數,肯定還有其他的隨機數來源。對於密碼學,你需要不隨機的隨機數。隨機數的一個有趣的例子可以在http://www.lavarnd.org/找到。 – 2009-09-20 12:00:48
「一些物理現象,比如齊納二極管中的熱噪聲似乎是真正隨機的,可以作爲硬件隨機數發生器的基礎,然而,許多機械現象具有不對稱性和系統偏差,使得結果不是真正隨機的。
我在看實際可行的東西.. :) –
2009-09-20 12:06:26
「垃圾值」我認爲你的意思是未初始化的內存。你不會得到很好的發行版,更重要的是你會得到很多重複值序列。對於大多數需要隨機數的應用程序來說,連續獲取數千個相同的數字將毫無用處。
對於一個數字是一個「真正的隨機數」,它必須是非確定性的。而且,由於幾乎所有東西都(可能)是確定性的,所以真的沒有像隨機數那樣的東西。大氣噪聲的混合可能是目前最接近的。
計算機是確定性的,只能生成僞隨機數,除非它們依賴於一些外部隨機過程。
僞隨機數發生器形成一個序列,遲早會重複。
當然,非常長的序列實際上可能與'真正的隨機'數字沒有區別。
一個'垃圾值'可能被用來播種一個隨機數發生器,但問題是'種子使用了什麼樣的數值範圍?
它可能會引入可預測性,,因爲我們知道一些僞隨機數發生器產生相同的序列時,相同的種子。
- 1. 爲什麼我的隨機數程序輸出垃圾?
- 2. 爲什麼printf不打印垃圾值?
- 3. C#/爲什麼Get html會返回隨機垃圾字符?
- 4. 爲什麼Serail.readBytes()讀取垃圾值?
- 5. C++字符數組 - 爲什麼垃圾?
- 6. 使用垃圾值生成隨機或僞隨機數
- 7. ZMQ recv隨機挑選垃圾數據是否有人知道爲什麼?
- 8. 爲什麼我只能在Ubuntu的G ++中獲得垃圾值?
- 9. 爲什麼不隨機()隨機?
- 10. 爲什麼隨機數值模式?
- 11. 爲什麼程序不斷打印垃圾值?
- 12. 爲什麼不隨機工作?
- 13. 爲什麼我會爲C程序獲取垃圾值?
- 14. 爲什麼在聯合整數的垃圾值?
- 15. 爲什麼int在這裏給出8位數的垃圾值?
- 16. 數組作爲arguement傳遞到顯示垃圾的功能值
- 17. PSEXEC返回垃圾結果。爲什麼?
- 18. 爲什麼這是垃圾收集
- 19. 爲什麼我的char []存儲垃圾?
- 20. 爲什麼禁用垃圾回收器?
- 21. 爲什麼FastBitmap無法收集垃圾?
- 22. 這個fwrite爲什麼寫垃圾?
- 23. Ofstream返回垃圾。 Cout的作品...爲什麼不流入?
- 24. 爲變量賦值後得到垃圾值,看不出爲什麼
- 25. 爲什麼我的隨機數字不那麼隨機?
- 26. 爲什麼我的最小值顯示一些垃圾值?
- 27. 爲什麼數字不會隨機?
- 28. 返回垃圾數量,我不知道爲什麼
- 29. 爲什麼我總是爲數組獲取垃圾?
- 30. 爲什麼我不能在循環中分配隨機值?
你如何定義一個「真正的」隨機數? – 2009-09-20 11:53:14
應該是不可預知的... – Xinus 2009-09-20 11:57:33
對於隨機數生成器之外的所有事情都是不可預測的。 – Xinus 2009-09-20 12:14:35