有一個名爲Uncommon Maths的Java庫,聲稱可以提供比Sun更好的隨機數生成器,甚至可能還有BouncyCastle。如何確定他們的圖書館是否可以信任?我相信Sun和BouncyCastle,因爲很多重要的公司都在使用他們的東西。目前尚不清楚Uncommon Maths是否屬於同一類別。有任何想法嗎?罕見的數學庫可信嗎?
回答
稀有數學聲稱通過Diehard tests來完成。這和我所知的一樣可靠。
您可以隨時成爲科學家,並作爲獨立檢查重新運行這些測試。
寫你自己的測試。
一個隨機數發生器的基本檢查可以使用chi-square test
好問題;)
所有的RNG算法是由人發明的聰明比我知名的算法。我是一名程序員,而不是數學家。我剛剛移植了原始的C代碼。所以你必須希望我沒有在轉換中引入任何錯誤。
與大多數開源軟件一樣,不存在任何擔保。如果你想用它進行模擬,我認爲這是一個非常好的選擇。如果你想用它來加密,像Fortuna這樣的東西會更好。
不常見數學不像一些圖書館那樣廣泛使用。它每週下載5到20次。我不知道有多少人真的會在嚴肅的應用中使用它。我將它用於evolutionary computation以及一些我一直在玩的與撲克有關的小程序。
我在每個RNG實現上都運行了Diehard,並沒有突出顯示任何缺陷。這就是說,死硬的結果不是最簡單的解釋:
因此,你不應該用 偶爾p值驚訝接近0或1,如 爲0.0012和0.9983。當比特流 確實失敗時,即使有好的 RNG,您也會在DIEHARD產生的數百個 之間發生p
s of 0 or 1 to six or more places. By all means, do not, as a Statistician might, think that a p < .025 or p> .975 means that the RNG has "failed the test at the .05 level". Such p
。所以請記住,「p 發生」。
Uncommons Maths RNGs都滿足這個成功的模糊定義。在0.025到0.975範圍之外有一個或兩個p值,但沒有一個「失敗很大」。這與使用Java的SecureRandom獲得的結果是可比的(並且比java.util.Random更好)。
如果你想自己測試這個,在發行版中有一個名爲DiehardInputGenerator的類。這會生成運行Diehard所需的12mb文件。
- 1. Android:罕見和不可複製ClassNotFoundException
- 2. 罕見的XSLT轉換
- 3. 罕見的IP符號
- 4. 與可變參數模板的罕見錯誤?
- 5. 恰好罕見用戶
- 6. PHP Facebook SDK罕見方法
- 7. 罕見事件檢測
- 8. Swift Emailer罕見行爲
- 9. 網址罕見重定向
- 10. RxJava。罕見extraordinal信息定期輪詢服務器
- 11. F#有數學庫嗎?
- 12. 當真正的肯定是罕見
- 13. C++罕見的運行時錯誤
- 14. 極其罕見的哈姆錯誤
- 15. 如何找到罕見的錯誤?
- 16. 罕見的崩潰用於AppWidget更新
- 17. 轉義罕見的字符輸出php
- 18. .net中的罕見異常與Twitterizer
- 19. 罕見的null注入字段
- 20. django-grappelli和罕見的很多錯誤
- 21. Flickrj - getPublicGroups罕見的返回類型
- 22. DevOps中的罕見場景 - 使用jenkins
- 23. 轉換罕見日期格式
- 24. Admob崩潰但非常罕見
- 25. 使用BeautifulSoup解析罕見符號
- 26. 關於Neo4j與Cypher的罕見常見建議
- 27. 使用Indy收到的奇怪的罕見亂序數據
- 28. 數學庫是靜態鏈接的嗎?
- 29. 數據庫不可見
- 30. 任何數據庫都可以做數學嗎?
你可以問問開發人員自己:http://stackoverflow.com/users/5171/dan-dyer – 2009-02-14 04:48:18
罕見的數學是由製表師框架,這是一個進化計算庫也由丹戴爾寫的分支。它已經存在了更長的時間,並且已經在幾個Apache項目中使用。我認爲它的社區信任歷史證明了它的價值。 – ingyhere 2014-01-15 03:19:45