1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Mô phỏng Monte Carlo với Python

Connected

Bài tập

Mô phỏng cặp xúc xắc

Tương tự ví dụ trong bài học, bạn sẽ tung hai viên xúc xắc từ hai túi, và mỗi túi chứa ba viên xúc xắc bị lệch.

bag1 = [[1, 2, 3, 6, 6, 6], [1, 2, 3, 4, 4, 6], [1, 2, 3, 3, 3, 5]]
bag2 = [[2, 2, 3, 4, 5, 6], [3, 3, 3, 4, 4, 5], [1, 1, 2, 4, 5, 5]]

Điểm khác biệt là các viên xúc xắc ở hai túi được ghép cặp: nếu bạn chọn viên thứ hai trong bag1, bạn cũng sẽ chọn viên thứ hai trong bag2. Ở mỗi lượt thử:

  • Bạn chọn ngẫu nhiên một cặp xúc xắc từ hai túi và tung chúng
  • Thành công nếu điểm trên dice1 và dice2 cộng lại bằng tám; nếu không thì thất bại

Nhiệm vụ của bạn là hoàn thiện vòng lặp for trong hàm roll_paired_biased_dice() và dùng hàm này để tính xác suất thành công cho từng tổ hợp điểm khác nhau trên dice1 và dice2.

Các thư viện sau đã được nhập sẵn cho bạn: random, numpy là np, pandas là pd, seaborn là sns và matplotlib.pyplot là plt.

Hướng dẫn 1/2

undefined XP
    1
    2
  • Dùng random.randint() để lấy các chỉ số của xúc xắc (mỗi chỉ số là một số từ 0 đến 5).
  • Dùng bag_index rồi đến dice_index phù hợp để lấy mẫu một cặp xúc xắc từ bag1 và bag2.