Symulacja dla pojedynczego n
Zacznijmy od znalezienia rozwiązania metodą symulacji dla pokoju z 50 osobami.
W tym kodzie n reprezentuje wielkość pokoju, a match to licznik zliczający, ile razy w symulacji wystąpiło co najmniej jedno powtarzające się urodziny. Licznik zaczyna od 0 i powinien być zwiększany w każdej iteracji, w której dopasowanie wystąpi.
To ćwiczenie jest częścią kursu
Zagadki prawdopodobieństwa w R
Instrukcje do ćwiczenia
- Uzupełnij wymagane parametry funkcji
sample, aby losowo przypisać urodziny każdej osobie. - Zwiększ zmienną
matchzgodnie z warunkiem, który po niej następuje. - Oblicz szacowane prawdopodobieństwo wystąpienia co najmniej jednego dopasowania.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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(___)