我知道還有其他類似於這個問題的問題,但是下面的問題涉及在C中用於蒙特卡洛的任意精度隨機數生成模擬。C:中的任意精度隨機數用於無大氣噪聲的蒙特卡羅模擬
如何在不依賴可能產生瓶頸的磁盤I/O或網絡訪問的情況下,在大氣噪聲不總是可用的情況下,用C語言生成高質量的任意精度隨機數?
libgmp能夠生成隨機數字,但是,like other implementations of pseudo-random number generators,它requires a seed。正如手冊中提到的,「系統時間很容易猜測,所以如果需要不可預測性,那麼它肯定不是種子價值的唯一來源。」
是否有便攜/移植庫用於生成隨機數或隨機數種子? libgmp還提到:「在某些系統上,有一個特殊的設備/ dev/random,它提供了更適合用作種子的隨機數據。」但是,/dev/random
和/dev/urandom
只能使用可用於* nix系統。
這是一個棘手的問題(也是一個積極的研究領域)。 +1 Monte Carlo模擬問題尤其突出,因爲即使數據的高週期性也會限制結果的變化。 – WhirlWind 2010-05-23 22:05:55