choose(n = 100, k = 20) * (1/6)^20 * (5/6)^80[1] 0.067862
Đề bài: ta có xúc xắc (6 mặt), khi tung 100 lần, thì xác suất có đúng 20 lần ra mặt 3 là bao nhiêu?
Đây là một bài toán phân phối nhị thức (binomial).
Gọi \(X\) là số lần ra mặt 3 trong 100 lần tung (ví dụ tung 100 lần thì có 14 lần ra mặt số 3, nên X = 14).
Vì xúc xắc công bằng nên xác suất ra mặt số 3 là:
\[P(\text{ra mặt 3}) = 1/6\]
Do vậy xác suất KHÔNG ra mặt số 3 là:
\[P(\text{không ra mặt 3}) = 5/6\]
Do đó, \(X\) sẽ tuân theo phân phối nhị thức:
\[X \sim B(n = 100, p = \frac{1}{6})\]
Ta cần tính xác suất có đúng 20 lần ra mặt 3:
\[P(X = 20 \text{ | ra mặt 3}) = ?\]
Áp dụng công thức:
\[P(X = k \text{ | ra mặt 3}) = \binom{n}{k} p^k (1-p)^{n-k}\]
\[P(X = 20 \text{ | ra mặt 3}) = \binom{100}{20} \left(\frac{1}{6}\right)^{20} \left(\frac{5}{6}\right)^{80} = 0.0678 = 6.78\%\]
choose(n = 100, k = 20) * (1/6)^20 * (5/6)^80[1] 0.067862
kq <- sample(x = c(1,2,3,4,5,6),
size = 100,
replace = TRUE)
kq [1] 4 2 5 3 4 1 2 1 3 3 6 2 3 1 1 3 2 4 1 5 4 2 3 2 3 5 4 2 2 6 4 1 5 5 4 5 2 5 3 2 4 6 5 6 2 2 2 1 6 2 6 2 4 2 2 1 6
[58] 2 5 3 1 2 4 2 4 5 4 3 2 1 6 2 6 5 4 5 3 1 1 1 3 2 1 3 6 2 5 5 6 5 5 1 5 5 4 5 5 1 3 1
table(kq)kq
1 2 3 4 5 6
17 24 14 14 20 11
run_exp <- 10
kq_list <- list()
for(i in 1:run_exp){
kq <- sample(x = c(1,2,3,4,5,6),
size = 100,
replace = TRUE)
kq_list[[i]] <- table(kq)
}
kq_list_master <- do.call(rbind, kq_list)
kq_list_master <- as.data.frame(kq_list_master)
kq_list_master$thunghiem <- 1 : run_exp
kq_list_master 1 2 3 4 5 6 thunghiem
1 22 17 21 13 16 11 1
2 12 25 18 10 21 14 2
3 21 12 13 17 19 18 3
4 13 16 16 17 28 10 4
5 13 20 21 19 13 14 5
6 15 20 16 16 15 18 6
7 17 15 17 16 11 24 7
8 17 14 23 17 13 16 8
9 23 12 16 18 9 22 9
10 18 15 14 19 18 16 10
# run_exp <- 100000
#
# kq_list <- list()
#
# for(i in 1:run_exp){
#
# kq <- sample(x = c(1,2,3,4,5,6),
# size = 100,
# replace = TRUE)
#
# kq_list[[i]] <- table(kq)
# }
#
# kq_list_master <- do.call(rbind, kq_list)
#
# kq_list_master <- as.data.frame(kq_list_master)
#
# kq_list_master$thunghiem <- 1 : run_exp
# kq_list_master
# saveRDS(kq_list_master, "kq_list_master.rds")
kq_list_master <- readRDS("kq_list_master.rds")Tính trung bình số lần xuất hiện mặt số 3, kết quả này chính là tỷ lệ 1/6
\[P(\text{ra mặt 3}) = 1/6\]
summary(kq_list_master$`3`) Min. 1st Qu. Median Mean 3rd Qu. Max.
3.00 14.00 17.00 16.67 19.00 34.00
1/6[1] 0.1666667
Vẽ đồ thị histogram cho số lần xuất hiện mặt số 3 trong 100000 lần thử nghiệm (với mỗi lần tung 100 xúc xắc)
hist(kq_list_master$`3`,
main = "Số lần ra xúc xắc có mặt số 3",
xlab = "")
abline(v = 20,
col = "red",
lwd = 2)Thống kê tất cả các lần xuất hiện mặt số 3
table(kq_list_master$`3`)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
2 8 31 102 227 580 1132 2182 3470 5162 7011 8741 10166 10758 10457 9575 8410 6858 5049 3768
23 24 25 26 27 28 29 30 31 32 33 34
2553 1578 950 605 324 156 78 36 20 5 3 3
Ta thấy có 6858 lần thử nghiệm (tung 100 xúc xắc) mà mặt số 3 xuất hiện 20 lần.
6858 / sum(table(kq_list_master$`3`))[1] 0.06858
Kết quả này chính là đáp án tính theo xác suất cổ điển
\[P(X = k \text{ | ra mặt 3}) = \binom{n}{k} p^k (1-p)^{n-k}\]
dbinom(20, size = 100, prob = 1/6)[1] 0.067862
choose(n = 100,
k = 20) * (1/6)^20 * (5/6)^80[1] 0.067862