プログラマメモ2 - programmer no memo2

ポアソン分布の理解のための手習い。 2008/03/25
2008/03/25

待ち行列の説明をみてて、「ポアソン分布」というのがでてきたので、ちょっと勉強。

使ったライブラリは、


ポアソン分布で値を生成して生成した回数で割ってみる。
結果は
mean:1000
ポアソン分布でだした値の平均:998.928

もちろん繰りかえせば値もちょっとかわる。
平均をとることに意味があるかは、わからないけど...



このライブラリ使うとポアソン分布の値が手軽にとれるよってことで。

package t;

import java.util.Random;

import org.uncommons.maths.random.PoissonGenerator;

public class TestRandomOccur {

public static void main(String[] args) {
int mean = 1000;
System.out.println("mean:" + mean);
//print_random(mean);
print_poisson(mean);
}

static void print_poisson(int mean) {
double m = 0d;
int cnt = mean;
for (int i = 0; i < cnt; i++) {
double g = r(mean);
// System.out.println(g);
m += g;
}
System.out.println("ポアソン分布でだした値の平均:" + (m / cnt));
}

// static void print_random(int mean) {
// double m = 0d;
// int cnt = mean;
// for (int i = 0; i < cnt; i++) {
// double g = r2(mean);
// System.out.println(g);
// m += g;
// }
// System.out.println("ランダムでだした値の平均:" + (m / cnt));
// }

static int r(int mean) {
Random random = new Random();
PoissonGenerator poissonGenerator = new PoissonGenerator(mean, random);
return poissonGenerator.nextValue();
}

static int r2(int mean) {
Random random = new Random();
return random.nextInt(mean);
}
}

: