Có k giả thuyết về loại xúc xắc s-mặt (các mặt đánh số 1,…,s) đang được sử dụng để tạo ra một dãy các lần tung. Giả thuyết thứ j ứng với xúc xắc có phân phối xác suất qj,1,…,qj,s trên các mặt (∑vqj,v=1), và có xác suất tiên nghiệm được chọn là πj (∑jπj=1).
Quan sát một dãy gồm n 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ộ n lần tung. Gọi cv là số lần mặt v xuất hiện trong dãy. Theo định lý Bayes:
P(giả thuyeˆˊt j∣dữ liệu)=∑l=1kπl∏v=1sql,vcvπj∏v=1sqj,vcv
Hãy tính xác suất hậu nghiệm cho mỗi giả thuyết j=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ì n 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=5; giả thuyết 1: q1=(0.5,0.5); giả thuyết 2: q2=(0.2,0.8); π=(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), giả thuyết tốt nhất là 2.
Dòng 1: ba số nguyên k,s,n (1≤k≤50, 2≤s≤20, 0≤n≤50000).
k dòng tiếp theo, dòng thứ j gồm s số thực qj,1…qj,s.
Dòng tiếp theo: k số thực π1…πk.
Dòng cuối: n số nguyên trong đoạn [1,s] là kết quả các lần tung, cách nhau khoảng trắng (nếu n=0, dòng này rỗng hoặc không xuất hiện).
Dòng 1: k số thực là các xác suất hậu nghiệm P(giả thuyeˆˊt j∣dữ liệu) theo thứ tự j=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 k 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...