私は C++ でモンテカルロ シミュレーションを作成しており、乱数に Boost を使用していました。GSLも少し使いました。しかし、乱数生成は実行時の最大の非効率性の 1 つであることが判明したため、古き良きrand()
fromを使い始めましたcstdlib
。
シミュレーションの乱数特性が悪いと、どの程度のリスクがありますか? 約 10^6 または 10^7 の乱数サンプルを使用します。
私は C++ でモンテカルロ シミュレーションを作成しており、乱数に Boost を使用していました。GSLも少し使いました。しかし、乱数生成は実行時の最大の非効率性の 1 つであることが判明したため、古き良きrand()
fromを使い始めましたcstdlib
。
シミュレーションの乱数特性が悪いと、どの程度のリスクがありますか? 約 10^6 または 10^7 の乱数サンプルを使用します。
2 つの問題があります。(1) RAND_MAX は少なくとも 32767 であることが保証されているため、可能な値が多くない可能性があります (アプリケーションによっては必ずしも悪いとは限りません)。(2) 実装が不十分です。
安全な乱数ジェネレーターとして知られているものが必要な場合は、他の場所を探す必要があります。しかし、多くのアプリでrand()
は十分です。
あなたの懸念に対処するブログ投稿はhttp://eternallyconfuzzled.com/arts/jsw_art_rand.aspxです。