사물을 추적함으로써 정확한 공식을 얻을 수 있습니다 .
하자 성공의 확률 수 이 계산하려는 행에 성공의 수를합니다. 이들은 문제에 대해 수정되었습니다. 변수 값은 , 블록에 남은 시행 횟수입니다. 와 연속적인 성공의 수는 이미 관찰했다. 시행이 끝날 때 연속으로 성공을 거둘 수있는 기회를 . 우리는 찾습니다 .K = 8 m j 개의 케이 m의 F의 P , K ( J , m ) F 1 / 3 , 8 ( 0 , 25 )p=1/3k=8mjkmfp,k(j,m)f1/3,8(0,25)
우리가 우리의 본 가정 와 행에 성공 가서 시험을. 다음 시도는 성공입니다. 확률 는 이 경우 는 증가합니다 . 그렇지 않으면 확률은 이며이 경우 는 으로 재설정됩니다 . 두 경우 모두 은 씩 감소합니다 . 어떻게 m > 0 p j j + 1 1 − p j 0 m 1jthm>0pjj+11−pj0m1
fp,k(j,m)=pfp,k(j+1,m−1)+(1−p)fp,k(0,m−1).
시작 조건으로서 우리는 대한 명백한 결과 을 가진다 ( 즉 , 우리는 이미 를 연속으로 보았다 ) 및 대해 ( 즉 , 를 연속 으로 가져갈 수있는 시험이 충분하지 않습니다 ). 이제는 동적 프로그래밍을 사용하거나이 문제의 매개 변수가 너무 작아서 재귀하는 것이므로 빠르고 간단합니다.m ≥ 0 k f p , k ( j , m ) = 0 k − j > m kfp,k(k,m)=1m≥0kfp,k(j,m)=0k−j>mk
fp,8(0,25)=18p8−17p9−45p16+81p17−36p18.
경우 본 수율 .80,897 / 4천3백4만6천7백21 ≈ 0.0018793p=1/380897/43046721≈0.0018793
R
이것을 시뮬레이션하는 비교적 빠른 코드는
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()))
3 초의 계산 후 출력은 입니다. 이것은 높지만 1.7 표준 오류에 불과합니다. 다른 반복을 실행하여 생성 . 예상보다 표준 오류 만 줄었습니다. (이 코드의 이전 버전에는 미묘한 버그가 있었기 때문에 이중 검사로 Mathematica 에서 400,000 회 반복하여 의 추정치를 .)10 6 0.001867 0.3 0.00184750.002131060.0018670.30.0018475
이 결과는 문제의 추정치 10 분의 1보다 작습니다 . 그러나 아마도 나는 그것을 완전히 이해하지 못했을 것입니다 : "여러 번에 총 8 번 시도합니다 ... 8 번의 시련을 올바르게 얻는 것"에 대한 또 다른 해석은 찾는 답이 와 같다는 것입니다 .(1) - ( 1 - F 1 / 3 , 8 ( 0 , 25 ) )1−(1−(1/3)8)136≈0.02051−(1−f1/3,8(0,25))8)=0.0149358...