質問

私はいくつかの高速重要なコードでベータ分布を持つ乱数を生成する必要があります。現在、私は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/ の

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top