3

べき乗則分布に従って p2p ネットワークを生成しようとしています。Javaでべき乗則分布を生成する方法は? ライブラリはありますか?

ありがとう :)

4

4 に答える 4

4

ライブラリを使用できない/使用したくない場合:

この場合、最も簡単な方法は、関数 F : x -> P(X < x) である CDF ( Wikipediaで確認してください) を計算することです。次に、お気に入りの発生器で [0,1] に一様乱数 y を描画し、y = F(x) を解きます。このような x のシーケンスは同一に分布し、べき乗分布に従います。

編集:答えはそこにあります

于 2010-07-15T09:33:11.210 に答える
3

Colt Java ライブラリが役立つかもしれません。多くの分布に従って乱数を生成します。

于 2010-07-15T09:10:48.140 に答える
1

このライブラリ: https://github.com/pbloem/powerlawsには、次のように使用されるべき法則ジェネレーターが含まれています。

List<Double> data = new Continuous(3.14, 2.5).generate(1000);

これは、最小値が 3.14、指数が 2.5 のべき乗分布から 1000 ポイントを生成します。また、離散分布と離散分布の連続近似もあります。これらすべての分布は、既存のデータにも当てはめることができます。

(免責事項: このライブラリは私が作成しました)。

于 2012-09-18T11:35:06.420 に答える
1

Apache Commons Math lib は、私のシステムではかなり遅かったです (何か見逃したのかもしれません...)。このスタンドアロン クラスPowerLaw.javaは私にとってはうまくいきました。

于 2012-08-23T13:47:21.133 に答える