Ao acompanhar as coisas, você pode obter uma fórmula exata .
Deixe p=1/3 a probabilidade de sucesso e k=8 ser o número de sucessos em uma linha você deseja contar. Eles foram corrigidos para o problema. Os valores variáveis são m , o número de tentativas restantes no bloco; e j , o número de sucessos sucessivos já observados. Deixe a chance de, eventualmente, alcançar k sucessos seguidos antes que m tentativas sejam esgotadas, seja escrita fp,k(j,m) . Procuramos f1/3,8(0,25) .
Suponha que acabamos de ver nosso jth sucesso em uma linha com m>0 ensaios de ir. O próximo julgamento é um sucesso, com probabilidade p - nesse caso, j é aumentado para j+1 -; ou então é uma falha, com probabilidade 1−p - nesse caso j é redefinido para 0 . Nos dois casos, m diminui em 1 . De onde
fp,k(j,m)=pfp,k(j+1,m−1)+(1−p)fp,k(0,m−1).
Como condições iniciais, temos os resultados óbvios para m ≥ 0 ( isto é , já vimos k em uma linha) ef p , k ( j , m ) = 0 para k - j > m ( ou seja , não há testes suficientes para obter kfp,k(k,m)=1m≥0kfp,k(j,m)=0k−j>mkseguidas). Agora é rápido e direto (usando programação dinâmica ou, porque os parâmetros deste problema são muito pequenos, recursão) calcular
fp,8(0,25)=18p8−17p9−45p16+81p17−36p18.
Quando esta rendimentos 80897 / 43046721 ≈ 0,0018793p=1/380897/43046721≈0.0018793 .
Um R
código relativamente rápido para simular isso é
hits8 <- function() {
x <- rbinom(26, 1, 1/3) # 25 Binomial trials
x[1] <- 0 # ... and a 0 to get started with `diff`
if(sum(x) >= 8) { # Are there at least 8 successes?
max(diff(cumsum(x), lag=8)) >= 8 # Are there 8 successes in a row anywhere?
} else {
FALSE # Not enough successes for 8 in a row
}
}
set.seed(17)
mean(replicate(10^5, hits8()))
Após 3 segundos de cálculo, a saída é . Embora isso pareça alto, são apenas 1,7 erros padrão desativados. Executei outras 10 6 iterações, produzindo 0,001867 : apenas 0,3 erros padrão abaixo do esperado. (Como checagem dupla, como uma versão anterior desse código tinha um bug sutil, também executei 400.000 iterações no Mathematica, obtendo uma estimativa de 0,00184750.002131060.0018670.30.0018475 .)
Este resultado é menos do que um décimo da estimativa de em questão. Mas talvez eu não tenha entendido integralmente lo: uma outra interpretação de "você tem 8 total de blocos ... para obter 8 ensaios corrigir em uma linha" é que o ser resposta procurada iguais 1 - ( 1 - f 1 / 3 , 8 ( 0 , 25 ) ) 8 ) = 0,0149358 ... .1−(1−(1/3)8)136≈0.02051−(1−f1/3,8(0,25))8)=0.0149358...