เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การจำลองสำหรับค่า 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(___)
แก้ไขและรันโค้ด