好吧,所以這個問題涉及到一個前鋒位。忍受着我。 這個網站的random.org(和其他人喜歡它),聲稱使用某種量子過程或其他產生真正的隨機數。 如果有人反覆查詢本網站,並開發真正的隨機數大量日誌。這個日誌然後被程序重新排列,以儘可能隨機地混合它。結果輸出是否比開始時少?多少錢? 關於這個問題的任何好/便宜的進一步閱讀?真正的隨機與僞隨機(你可以僞隨機真正的隨機性)
回答
對進行重排序排列不會改變隨機程度。
所以,如果你有一個完美的隨機數源,相同的位重組將同樣是隨機的。如果「混洗」是一個固定的重新排序(例如,顛倒所有比特)或由一個僞隨機數生成器生成的混洗(這實際上是一種非常混淆的方式,從一些初始定義固定的重新排序種子)。
這可以從底層數學證明 - 如果您重新排列一組真正獨立的相同分佈的隨機變量,那麼結果分佈將與您開始使用的分佈相同。因此它同樣是隨機的。
但是,如果混洗以某種方式依賴於隨機位的值,則這不起作用。例如,如果你對比特進行排序而不是對它們進行排序,那麼你將不會有非常好的隨機輸出:-)。
如果你有一個需要N個「隨機」數字的進程,你可以從該站點拿N,並在那個命令中使用它們,一切都會好的。如果你重新洗牌他們,你會讓他們更少隨機。
如果您需要持續提供的隨機數,那麼問題就是這些僞隨機雜交的相對質量,而如果您有一個真正的隨機序列會發生什麼。
但是,由於linux和windows都通過利用硬件熵提供真正的隨機數,爲什麼不使用這些?
好吧,但是如果您使用Windows或Linux的「真實」隨機數生成來隨機化「真實」隨機樣本,它應該是隨機的,對嗎? – KeithS 2011-03-03 19:04:04
不一定。有時間打電話給一位實際的數學家。 – bmargulies 2011-03-03 20:50:38
這不是出於任何實際原因。我只是對僞隨機性的行爲感興趣!謝謝!:) – 2011-03-04 17:14:46
這取決於你如何重新排列它們。如果你使用僞隨機函數來做它,結果可能會更少隨機。如果你使用真正的隨機重新排序,它不會更隨機。
人們忘記的一件事是對一些真隨機數使用僞隨機函數的原因是反覆測試。如果使用僞隨機函數得到一些意想不到的結果,將會使得查看可能的問題更加容易。
- 1. 真正的隨機數
- 2. Random.org真正的隨機C++
- 3. 僞隨機圖案
- 4. 加密僞隨機
- 5. 僞隨機整數
- 6. 僞隨機性迭代
- 7. Java隨機類不是真正的隨機?
- 8. 隨機與隨機
- 9. 僞隨機的URL生成
- 10. 僞隨機對數正態值
- 11. 產生僞隨機從int
- 12. 僞隨機數生成
- 13. 僞隨機數發生器
- 14. 僞隨機字符串
- 15. N-Puzzle僞隨機洗牌?
- 16. 創建一個真正的隨機
- 17. 真正的隨機c#生成器
- 18. 生成真正的隨機數
- 19. 如何獲得真正的隨機數?
- 20. 真正的Python隨機百分比
- 21. 真正的隨機數生成
- 22. 您的僞隨機數發生器(PRNG)是否不夠隨機?
- 23. PHP僞隨機,4字節的隨機程度
- 24. Scikit學習中的隨機狀態(僞隨機數)
- 25. 通過CSS-sprite(隨機位置)的僞隨機圖像
- 26. 通過僞隨機樸素隨機數生成器生成隨機數序列的正確方法
- 27. 生成可靠的僞隨機數
- 28. 使用垃圾值生成隨機或僞隨機數
- 29. 從固定種子文件中選取隨機行(僞隨機)
- 30. 如何使random.shuffle真正隨機?
它是隨機的5隨機數。 – Cosmin 2011-03-03 18:55:00
隨機理性數字,你的意思是肯定的。 – 2011-03-03 18:58:00
我相信科斯明的意思是42.我確定這只是一個小數/舍入/符號錯誤。 – troutinator 2011-03-04 18:54:41