Натхненний розмовою Пітера Доннеллі в TED , в якій він обговорює, скільки часу знадобиться, щоб певна схема з'явилася в серії монет, я створив наступний сценарій у Р. Враховуючи два шаблони 'hth' і 'htt', це підраховує, скільки часу в середньому потрібно (тобто скільки викинуто монет), перш ніж потрапити на один із цих шаблонів.
coin <- c('h','t')
hit <- function(seq) {
miss <- TRUE
fail <- 3
trp <- sample(coin,3,replace=T)
while (miss) {
if (all(seq == trp)) {
miss <- FALSE
}
else {
trp <- c(trp[2],trp[3],sample(coin,1,T))
fail <- fail + 1
}
}
return(fail)
}
n <- 5000
trials <- data.frame("hth"=rep(NA,n),"htt"=rep(NA,n))
hth <- c('h','t','h')
htt <- c('h','t','t')
set.seed(4321)
for (i in 1:n) {
trials[i,] <- c(hit(hth),hit(htt))
}
summary(trials)
Зведена статистика така:
hth htt
Min. : 3.00 Min. : 3.000
1st Qu.: 4.00 1st Qu.: 5.000
Median : 8.00 Median : 7.000
Mean :10.08 Mean : 8.014
3rd Qu.:13.00 3rd Qu.:10.000
Max. :70.00 Max. :42.000
У бесіді пояснюється, що середня кількість кидок монет буде різною для двох моделей; як видно з мого моделювання. Незважаючи на перегляд розмови кілька разів, я все ще не зовсім розумію, чому це було б так. Я розумію, що 'hth' перекриває себе, і інтуїтивно я думаю, що ви натиснете 'hth' швидше, ніж 'htt', але це не так. Я дуже вдячний, якби хтось міг мені це пояснити.