2017-09-11 9 views
-2

2つの乱数ジェネレータ(いずれも)を比較するタスクがあります。ジェネレータは、与えられた分布に従って値を生成できなければなりません。Pythonで乱数ジェネレータを選択する方法

私はnumpyの文書に行きました。シシジェネレータにはオプションがあり、scipyと標準のlibと同じです。

私はエンジンを選択できるライブラリは何ですか?

+0

[LCG](https://en.wikipedia.org/wiki/Linear_congruential_generator)(悪い疑似乱数ジェネレータの例として)は非常に書きやすいです。 – Phylogenesis

+0

@Phylogenesisエンジンはディストリビューションに応じて値を生成できるはずだということを忘れていました。返信ありがとうございます! – gasabr

答えて

1

ここで最も簡単な解決策は次のとおりOSベース(及びMarsenneから非決定論したがって異なるメルセンヌツイスター(したがって、決定論)と

>>> from random import SystemRandom 
>>> gen = SystemRandom() 
>>> gen.random() 
0.5496630511131738 

として実装されて

>>> from random import random 
>>> random() 
0.4060522793588409 

ツイスター)。 libsは必要ありません。

+0

答えをありがとうが、それは私が必要とするものではありません。更新された質問を見てください。 – gasabr

+0

@gasabr一様分布で[逆変換サンプリング](https://en.wikipedia.org/wiki/Inverse_transform_sampling)を適用することで、どの分布も実現します。 – freakish

+0

はそれについて知りませんでした。ありがとう! – gasabr

関連する問題