การจำลองสำหรับค่า n เดียว
สำหรับห้องที่มีขนาด 50 คน เริ่มต้นด้วยการหาคำตอบผ่านการจำลอง
ในโค้ดนี้ n แทนขนาดของห้อง และ match คือตัวแปรนับจำนวนครั้งที่มีวันเกิดตรงกันอย่างน้อยหนึ่งครั้งในการจำลอง ซึ่งเริ่มต้นที่ 0 และควรเพิ่มขึ้นในแต่ละรอบที่พบการตรงกัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Probability Puzzles in R
คำแนะนำการฝึกหัด
- ระบุพารามิเตอร์ที่จำเป็นของฟังก์ชัน
sampleเพื่อสุ่มกำหนดวันเกิดให้กับแต่ละคน - เพิ่มค่าตัวแปร
matchตามเงื่อนไขที่กำหนด - คำนวณความน่าจะเป็นโดยประมาณที่จะมีวันเกิดตรงกันอย่างน้อยหนึ่งครั้ง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
set.seed(1)
n <- 50
match <- 0
# Simulate 10000 rooms and check for matches in each room
for(i in 1:10000){
birthdays <- sample(___, ___, replace = ___)
if(length(unique(birthdays)) < n){
match <- ___
}
}
# Calculate the estimated probability of a match and print it
p_match <- ___
print(___)