子供と遊びを始めるとき

  • 「(簡単な)ゲームをしよう!」
  • 「んーと、じゃあ、○○ちゃんが3(k)回勝つまでね」
  • よくある光景である
  • さて、ゲームを何回やることになるのだろうか
  • ○○ちゃんの勝率pとする
  • N回目に「おわりー」となるとする
  • 1,2,...,N回までに「おわりー」とている確率は、N回終わった段階で、○○ちゃんが、まだ1,2,...,k-1回しか勝っていない場合を除いたすべての場合の確率の和だから
  • Q(N)=1-\sum_{i=0}^{k-1} _N C_i p^i(1-p)^{N-i}である
  • N回目に「おわりー」となるのは、N-1回目で「おわりー」とならずに、N回目で「おわりー」となった場合なのでQ(N)-Q(N-1)である
  • このあたりは、マルチプルテスティングの考え方と同じ(たくさんのp値がある。最小のp値がt以下である確率と最小のp値がt+delta以下である確率を考えて、その差が最小p値がtである確率…こちら、など)
maxN<-20
n<-4
p<-0.3
# N回目が終了してもまだ「おわり」になっていない確率
ret<-rep(0,maxN)

for(i in 1:maxN){
	tmp<-0
	for(j in 0:(n-1)){
		tmp<-tmp+choose(i,j)*(1-p)^(i-j)*p^(j)
	}
	ret[i]<-1-tmp
}

# N回目で「おわり」になる確率は
P<-diff(ret)

par(mfcol=c(1,2))
plot(P,type="b",main="打ち切り回数ごとの確率")
plot(cumsum(P),type="b",main="打ち切り回数の累積確率")
par(mfcol=c(1,1))