問題をシミュレーションで解く

MikuHatsune2011-11-17

友達からの問題。
 
xを[tex:01]をになる回数の期待値は?
 
という問題。
一回の試行の期待値が\frac{1}{2}だから2くらいじゃね?と思ってシミュレーションしてみる。

# 和が初めて1を超えるときを返す関数
f<- function(vec){
	return(head(which(vec>1),1))
}
pp<- seq(1,10000,by=100)
x<- rep(0,length(pp))
for(p in pp){
	a<- matrix(runif(12*p),nc=12)
	asum<- t(apply(a,1,cumsum))
	trial<- apply(asum,1,f)
	x[which(pp==p)]<- sum(trial)/p
}
plot(pp,x,type="l")


eに収束するっぽいぞ。