🎲 Xác suất cơ bản (Probability Basics)
Mục tiêu bài học
Sau bài học này, bạn sẽ:
- Hiểu các khái niệm cơ bản về xác suất
- Nắm vững các quy tắc tính xác suất
- Phân biệt các loại biến cố
- Áp dụng vào bài toán thực tế
Tổng quan các quy tắc xác suất
1. Các khái niệm cơ bản
1.1 Thuật ngữ
| Thuật ngữ | Định nghĩa | Ví dụ |
|---|---|---|
| Experiment | Thí nghiệm có kết quả không chắc chắn | Tung xúc xắc |
| Outcome | Một kết quả có thể xảy ra | Mặt 3 |
| Sample Space (S) | Tập hợp tất cả outcomes | 6 |
| Event (A) | Tập con của sample space | Số chẵn: 6 |
1.2 Ví dụ Sample Space
Ví dụ Sample Space
2. Định nghĩa Xác suất
2.1 Classical Probability
Điều kiện: Các outcomes có khả năng xảy ra như nhau (equally likely).
2.2 Ví dụ
Tung 1 xúc xắc cân đối:
- P(số 3) =
- P(số chẵn) =
- P(số > 4) =
Rút 1 lá từ bộ 52 lá:
- P(Át) =
- P(Cơ) =
- P(Át Cơ) =
2.3 Tính chất cơ bản
| Tính chất | Công thức |
|---|---|
| Xác suất nằm trong [0, 1] | |
| Xác suất chắc chắn | |
| Xác suất không thể | |
| Xác suất bù |
3. Quy tắc cộng (Addition Rule)
3.1 Biến cố xung khắc (Mutually Exclusive)
Hai biến cố xung khắc nếu không thể xảy ra đồng thời.
Biến cố xung khắc (Mutually Exclusive)
Ví dụ: Tung xúc xắc
- A = 2 (số ≤ 2)
- B = 6 (số ≥ 5)
- P(A ∪ B) = P(A) + P(B) =
3.2 Biến cố không xung khắc
Biến cố không xung khắc (Not Mutually Exclusive)
Ví dụ: Rút 1 lá bài
- A = Cơ (13 lá)
- B = Hình (K, Q, J) (12 lá)
- A ∩ B = Hình Cơ (3 lá)
3.3 Code Python
1# Tung xúc xắc2def prob_dice():3 S = {1, 2, 3, 4, 5, 6}4 5 # Events6 A = {1, 2} # số ≤ 27 B = {5, 6} # số ≥ 58 C = {2, 4, 6} # số chẵn9 10 # Mutually exclusive11 P_A_or_B = len(A) / len(S) + len(B) / len(S)12 print(f"P(A ∪ B) mutually exclusive: {P_A_or_B:.4f}")13 14 # Not mutually exclusive15 A_and_C = A & C16 P_A_or_C = len(A)/len(S) + len(C)/len(S) - len(A_and_C)/len(S)17 print(f"P(A ∪ C) not mutually exclusive: {P_A_or_C:.4f}")1819prob_dice()4. Quy tắc nhân (Multiplication Rule)
4.1 Biến cố độc lập (Independent Events)
Hai biến cố độc lập nếu việc xảy ra của biến cố này không ảnh hưởng đến biến cố kia.
Ví dụ: Tung đồng xu 2 lần
- P(HH) = P(H) × P(H) =
4.2 Biến cố phụ thuộc (Dependent Events)
Ví dụ: Rút 2 lá bài KHÔNG hoàn lại
- P(2 Át liên tiếp) =
4.3 Code Python
1# Independent events: Tung đồng xu2P_H = 0.53P_HH = P_H * P_H4P_HHH = P_H ** 35print(f"P(HH) = {P_HH}")6print(f"P(HHH) = {P_HHH}")78# Dependent events: Rút bài không hoàn lại9P_first_ace = 4/5210P_second_ace_given_first = 3/5111P_two_aces = P_first_ace * P_second_ace_given_first12print(f"P(2 Aces) = {P_two_aces:.6f}")5. Xác suất bù (Complement)
5.1 Công thức
5.2 Ứng dụng: "Ít nhất một"
Bài toán "ít nhất một" thường dùng complement:
Ví dụ: Tung đồng xu 3 lần, P(ít nhất 1 H)?
5.3 Code Python
1# P(ít nhất 1 Head trong n lần tung)2def prob_at_least_one_head(n):3 P_no_head = (1/2) ** n4 P_at_least_one = 1 - P_no_head5 return P_at_least_one67for n in [1, 2, 3, 5, 10]:8 print(f"n={n}: P(≥1 Head) = {prob_at_least_one_head(n):.4f}")6. Counting Techniques
6.1 Permutation (Hoán vị)
Số cách sắp xếp r phần tử từ n phần tử (có thứ tự):
Ví dụ: Xếp 3 người vào 3 ghế từ 5 người
6.2 Combination (Tổ hợp)
Số cách chọn r phần tử từ n phần tử (không thứ tự):
Ví dụ: Chọn 3 người từ 5 người
6.3 Code Python
1from math import factorial, comb, perm23n, r = 5, 345# Permutation6P_nr = perm(n, r)7print(f"P({n},{r}) = {P_nr}") # 6089# Combination10C_nr = comb(n, r)11print(f"C({n},{r}) = {C_nr}") # 101213# Ví dụ: Xổ số chọn 6 số từ 4514lottery = comb(45, 6)15print(f"Số cách chọn xổ số: {lottery:,}") # 8,145,06016print(f"Xác suất trúng: 1/{lottery:,} = {1/lottery:.10f}")7. Ví dụ tổng hợp
7.1 Bài toán sinh nhật
P(ít nhất 2 người trong n người có cùng ngày sinh)?
Dùng complement:
1def birthday_problem(n):2 """P(ít nhất 2 người cùng sinh nhật trong n người)"""3 P_no_match = 14 for i in range(n):5 P_no_match *= (365 - i) / 3656 return 1 - P_no_match78for n in [10, 23, 30, 50, 70]:9 print(f"n={n}: P = {birthday_problem(n):.4f}")Kết quả đáng ngạc nhiên:
- n = 23: P ≈ 50%
- n = 50: P ≈ 97%
7.2 Bài toán Monty Hall
1import random23def monty_hall_simulation(n_trials=10000):4 """Mô phỏng bài toán Monty Hall"""5 wins_stay = 06 wins_switch = 07 8 for _ in range(n_trials):9 # Xe ở đằng sau 1 trong 3 cửa10 car = random.randint(0, 2)11 # Người chơi chọn 1 cửa12 choice = random.randint(0, 2)13 14 # Strategy: Stay15 if choice == car:16 wins_stay += 117 # Strategy: Switch (luôn thắng nếu chọn sai ban đầu)18 else:19 wins_switch += 120 21 print(f"Stay: {wins_stay/n_trials:.4f}")22 print(f"Switch: {wins_switch/n_trials:.4f}")2324monty_hall_simulation()25# Stay: ~0.33, Switch: ~0.678. Bài tập thực hành
Bài tập 1: Xúc xắc
Tung 2 xúc xắc cân đối:
- P(tổng = 7)?
- P(tổng ≥ 10)?
- P(cả hai số giống nhau)?
Bài tập 2: Bài
Rút 2 lá từ bộ 52 lá (không hoàn lại):
- P(cả 2 là Át)?
- P(cả 2 cùng chất)?
- P(1 đỏ, 1 đen)?
Bài tập 3: Sản phẩm lỗi
Lô hàng có 100 sản phẩm, 5 sản phẩm lỗi. Chọn ngẫu nhiên 3 sản phẩm:
- P(không có lỗi)?
- P(đúng 1 lỗi)?
- P(ít nhất 1 lỗi)?
Tóm tắt
| Quy tắc | Công thức | Điều kiện |
|---|---|---|
| Addition (ME) | Xung khắc | |
| Addition (General) | Không xung khắc | |
| Multiplication (Ind) | Độc lập | |
| Multiplication (Dep) | $P(A \cap B) = P(A) \times P(B | A)$ |
| Complement | Mọi trường hợp |
- Xác suất luôn từ 0 đến 1
- Complement hữu ích cho bài toán "ít nhất một"
- Phân biệt độc lập và phụ thuộc
- Permutation có thứ tự, Combination không thứ tự
