Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Xác suất - Thống kê] Suy luận Bayes nhiều giả thuyết với xúc xắc nhiều mặt

    Có kkk giả thuyết về loại xúc xắc sss-mặt (các mặt đánh số 1,…,s1,\dots,s1,…,s) đang được sử dụng để tạo ra một dãy các lần tung. Giả thuyết thứ jjj ứng với xúc xắc có phân phối xác suất qj,1,…,qj,sq_{j,1},\dots,q_{j,s}qj,1​,…,qj,s​ trên các mặt (∑vqj,v=1\sum_v q_{j,v}=1∑v​qj,v​=1), và có xác suất tiên nghiệm được chọn là πj\pi_jπj​ (∑jπj=1\sum_j \pi_j=1∑j​πj​=1).

    Quan sát một dãy gồm nnn lần tung độc lập, biết rằng cùng một xúc xắc (chưa biết là giả thuyết nào) được dùng cho toàn bộ nnn lần tung. Gọi cvc_vcv​ là số lần mặt vvv xuất hiện trong dãy. Theo định lý Bayes:

    P(giả thuyeˆˊt j∣dữ liệu)=πj∏v=1sqj,vcv∑l=1kπl∏v=1sql,vcvP(\text{giả thuyết } j \mid \text{dữ liệu}) = \dfrac{\pi_j \prod_{v=1}^{s} q_{j,v}^{c_v}}{\sum_{l=1}^{k} \pi_l \prod_{v=1}^{s} q_{l,v}^{c_v}}P(giả thuyeˆˊt j∣dữ liệu)=∑l=1k​πl​∏v=1s​ql,vcv​​πj​∏v=1s​qj,vcv​​​

    Hãy tính xác suất hậu nghiệm cho mỗi giả thuyết j=1,…,kj=1,\dots,kj=1,…,k, và cho biết giả thuyết có xác suất hậu nghiệm cao nhất (chỉ số nhỏ nhất nếu đồng hạng). Vì nnn có thể lớn, cần tính toán trong không gian log để tránh tràn số dưới.

    Ví dụ: k=2,s=2,n=5k=2, s=2, n=5k=2,s=2,n=5; giả thuyết 1: q1=(0.5,0.5)q_1=(0.5,0.5)q1​=(0.5,0.5); giả thuyết 2: q2=(0.2,0.8)q_2=(0.2,0.8)q2​=(0.2,0.8); π=(0.5,0.5)\pi=(0.5,0.5)π=(0.5,0.5); dãy 1 2 2 2 2 (mặt 2 xuất hiện 4 lần, mặt 1 xuất hiện 1 lần) — kết quả nghiêng về giả thuyết 2: hậu nghiệm ≈(0.276133, 0.723867)\approx (0.276133,\ 0.723867)≈(0.276133, 0.723867), giả thuyết tốt nhất là 222.

    • Định dạng đầu vào:

      Dòng 1: ba số nguyên k,s,nk, s, nk,s,n (1≤k≤501 \le k \le 501≤k≤50, 2≤s≤202 \le s \le 202≤s≤20, 0≤n≤500000 \le n \le 500000≤n≤50000).

      kkk dòng tiếp theo, dòng thứ jjj gồm sss số thực qj,1…qj,sq_{j,1} \dots q_{j,s}qj,1​…qj,s​.

      Dòng tiếp theo: kkk số thực π1…πk\pi_1 \dots \pi_kπ1​…πk​.

      Dòng cuối: nnn số nguyên trong đoạn [1,s][1,s][1,s] là kết quả các lần tung, cách nhau khoảng trắng (nếu n=0n=0n=0, dòng này rỗng hoặc không xuất hiện).

    • Định dạng đầu ra:

      Dòng 1: kkk số thực là các xác suất hậu nghiệm P(giả thuyeˆˊt j∣dữ liệu)P(\text{giả thuyết } j\mid\text{dữ liệu})P(giả thuyeˆˊt j∣dữ liệu) theo thứ tự j=1,…,kj=1,\dots,kj=1,…,k, cách nhau khoảng trắng, mỗi số làm tròn 6 chữ số thập phân.

      Dòng 2: chỉ số (1-indexed) của giả thuyết có xác suất hậu nghiệm lớn nhất.

      Nếu tất cả trọng số hậu nghiệm (chưa chuẩn hoá) đều bằng 0, dòng 1 in ra kkk số 0.000000 và dòng 2 in -1.

    Ví dụ:

    Đầu vào:

    3 3 0
    0.2 0.3 0.5
    0.5 0.3 0.2
    0.33 0.33 0.34
    0.3 0.3 0.4
    

    Đầu ra:

    0.300000 0.300000 0.400000
    3
    

    Đầu vào:

    2 2 5
    0.5 0.5
    0.2 0.8
    0.5 0.5
    1 2 2 2 2

    Đầu ra:

    0.276133 0.723867
    2
    

    Đang tải editor...