我想模拟伯努利过程。我丢了 N 次硬币
initRand();
p = 0.5;
for ( int i=0; i<N; i++) {
x = rand();
if ( x < p ) success();
else failure();
}
现在有两种情况:
(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*N 周期视为单个进程?