最近の回答では、モンテカルロシミュレーションをシードするためにFortunaまたはMersenne Twister Random Number Generators(RNG)を使用することに言及しました。フォーチュナのことを聞いたことがなかったので調べてみたところ、主に暗号化の使用を目的としているようです。
現在、実動コードでMersenne Twisterを使用してK-Meansアルゴリズムをシードしています。
「FortunaまたはMersenne Twister」は、「アルゴリズムシード」アプリケーション(モンテカルロとK-Meansのシードなど)に最適と見なされますか?または、それは「投げる」-つまり最も便利なものを使用します。
私が座っているところから、「最高」は最高品質の乱数を提供し、迅速に動作し、(おそらく)メモリのフットプリントが小さいはずです。これらのうち、おそらく品質は私たちのほとんどにとって最も重要です。
RAND_MAX=32768
可能な値のみでした。現在、モンテカルロレイトレーシングシミュレーションにMTを使用しています。ただし、MTがプロファイラーのパフォーマンスのボトルネックとは見なされません。おそらく、前処理として光線の方向などの「ランダムな」生成を行うからです。たとえば、起動時に100,000の光線の配列を生成し、それらを配列に保存し、実行時にランダムに配列の開始位置を選択します(コレクションの10,000光線程度で実行)。これは、適切な乱数分布と引き換えに、比較的高いメモリオーバーヘッドを持ちます。