高速なJavaのベータ分布乱数生成器を必要とします
-
20-09-2019 - |
質問
私はいくつかの高速重要なコードでベータ分布を持つ乱数を生成する必要があります。現在、私はnumerics4jライブラリからBetaRandomVariable()クラスを使用しています - しかし、現在、私のコードのCPU使用率の約95%を表します。
!誰もがこれらの乱数を生成するために、より高速な方法をお勧めしますか?
解決
あなたは numpyの乱数発生器で見ることができますに。彼らはCにしていますが、コードは、比較的読みやすいとpermissivelyライセンスされているので、彼らは簡単にJavaへ移植することができます。 Javaはその標準ライブラリの1、メルセンヌツイスターを形成し、ベータ分布に変換数字を取るだけのコードを持っているとして、あなたは基本的なメルセンヌツイスター発生装置ポートには必要ありません。私はDにnumpyの乱数発生器のほとんどを移植し、それらは非常に効率的であることが判明し、あなたはおそらく、Javaで同じことを見つけることができますしました。
他のヒント
私は、多くの用途に有用であることが判明しているメルセンヌツイスターアルゴリズムの高速化Javaの実装では、ここから入手可能です:<のhref =「http://www.cs.gmu.edu/~sean/research/」 rel = "nofollowをさnoreferrer"> http://www.cs.gmu.edu/~sean/research/ の
所属していません StackOverflow