1

ベルヌーイ過程をシミュレートしたい。コインをN回落とす

initRand();
p = 0.5;
for ( int i=0; i<N; i++) {
  x = rand(); 
  if ( x < p ) success();
  else failure();
}

2 つのシナリオ:

(i) この時点で、2*N までコインを落とし続けます。

for (; i<2*N; i++) {
  x = rand(); 
  if ( x < p ) success();
  else failure();
}

(ii) ここで、ランダム シーケンスを再開し、2*N までドロップし続けます。

initRand();
for (; i<2*N; i++) {
      x = rand(); 
      if ( x < p ) success();
      else failure();
}

最初のシナリオでは、2*N 回のトスで k 回成功する確率は次のように計算されます。

P(success)=nchoosek(2*N,k)*p^k*(1-p)^(2*N-k)

2 番目のシナリオでも同じですか? それとも、ジェネレーターのリセットにより、2*N サイクルを 1 つのプロセスと見なすことができないのでしょうか?

4

2 に答える 2

0

アルゴリズムによって生成されるすべての数値は、疑似乱数のみになります。したがって、アルゴリズムをリセットすると、あらかじめ決められた一連の乱数の先頭に置かれます。

これは、(i)2*Nの場合、独立したランダムプロセスと見なすことができる一連の数字があることを意味します。

ただし、 (ii)でアルゴリズムをリセットするとN、最初に描いたのと同じ数字が得られます。数値は同じランダム分布からのものですが、最初のN数値は 2 番目の数値に相関していNます。したがって、成功の確率はNすべてではなく、最初のエントリによって決まります2*N

于 2015-11-01T04:47:46.670 に答える