โดยการติดตามของสิ่งที่คุณจะได้รับสูตรที่แน่นอน
ให้เป็นความน่าจะเป็นของความสำเร็จและคือจำนวนความสำเร็จในแถวที่คุณต้องการนับ สิ่งเหล่านี้ได้รับการแก้ไขสำหรับปัญหา ค่าตัวแปรคือจำนวนการทดลองที่เหลืออยู่ในบล็อก และ , จำนวนความสำเร็จต่อเนื่องที่สังเกตได้แล้ว ให้โอกาสในการประสบความสำเร็จในที่สุดประสบความสำเร็จในแถวก่อนการทดลองจะหมดเขียน(เจม) เราพยายามที่(0,25)k = 8 ม. เจk เมตรฉP , K ( J , ม. ) ฉ1 / 3 , 8 ( 0 , 25 )p=1/3k=8mjkmfp,k(j,m)f1/3,8(0,25)
สมมติว่าเราเพิ่งเห็นความสำเร็จของติดต่อกันด้วยการทดลองการทดลองครั้งต่อไปอาจเป็นความสำเร็จโดยมีความน่าจะเป็น - ในกรณีที่เพิ่มขึ้นเป็น -; หรืออื่น ๆ มันคือความล้มเหลวกับความน่าจะเป็น --in กรณีที่จะถูกรีเซ็ตเป็น0ในทั้งสองกรณีลดลง1จากไหน 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 , kfp,k(k,m)=1m≥0kk - j > m kฉp , k( j , m ) = 0k - j > mk
fp,8(0,25)=18p8−17p9−45p16+81p17−36p18.
เมื่ออัตราผลตอบแทนนี้0.001879380897 / 43046721 ≈ 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 วินาทีของการคำนวณผลลัพธ์คือ0.00213แม้ว่าสิ่งนี้จะดูสูง แต่ก็มีข้อผิดพลาดมาตรฐาน 1.7 ข้อเท่านั้น ฉันทำซ้ำอีกซึ่งให้ผล : ข้อผิดพลาดมาตรฐานเพียงน้อยกว่าที่คาดไว้ (เป็นการตรวจสอบอีกครั้งเนื่องจากรหัสรุ่นก่อนหน้านี้มีข้อบกพร่องเล็กน้อยฉันจึงวิ่งซ้ำ 400,000 ครั้งในMathematica เพื่อรับประมาณ )0.00213 0.001867 0.3 0.00184751060.0018670.30.0018475
ผลลัพธ์นี้น้อยกว่าหนึ่งในสิบของค่าประมาณในคำถาม แต่บางทีฉันยังไม่เข้าใจอย่างเต็มที่: การตีความอีกครั้งของ "คุณมี 8 บล็อกทั้งหมด ... เพื่อให้ได้ 8 การทดลองที่ถูกต้องในหนึ่งแถว" คือคำตอบที่ถูกค้นหาเท่ากับ...1 - ( 1 - ฉ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...