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ê] Mô phỏng Monte Carlo: lấy mẫu loại bỏ (rejection sampling)

    Lấy mẫu loại bỏ (rejection sampling) là kỹ thuật Monte Carlo để lấy mẫu từ một phân phối mục tiêu có mật độ fff khi ta chỉ biết cách lấy mẫu từ một phân phối đề xuất ggg đơn giản hơn, với điều kiện tồn tại hằng số MMM sao cho f(x)≤M⋅g(x)f(x) \le M\cdot g(x)f(x)≤M⋅g(x) với mọi xxx.

    Xét phân phối mục tiêu có mật độ tam giác f(x)=2xf(x) = 2xf(x)=2x trên [0,1][0,1][0,1], phân phối đề xuất ggg là phân phối đều trên [0,1][0,1][0,1] (mật độ g(x)=1g(x)=1g(x)=1), và M=2M = 2M=2 (vì max⁡f=2\max f = 2maxf=2). Với một điểm đề xuất u∼gu \sim gu∼g và một số ngẫu nhiên quyết định v∼Uniform(0,1)v \sim \text{Uniform}(0,1)v∼Uniform(0,1), điểm uuu được CHẤP NHẬN nếu:

    v≤f(u)M⋅g(u)=uv \le \dfrac{f(u)}{M\cdot g(u)} = uv≤M⋅g(u)f(u)​=u

    Cho sẵn nnn cặp (ui,vi)(u_i, v_i)(ui​,vi​) đã sinh sẵn (không cần sinh ngẫu nhiên). Hãy tính:

    • Số mẫu được chấp nhận kkk
    • Tỉ lệ chấp nhận k/nk/nk/n (Monte Carlo ước lượng xác suất chấp nhận của thuật toán)
    • Giá trị trung bình của các uiu_iui​ được chấp nhận (ước lượng kỳ vọng của phân phối mục tiêu, E[X]=2/3E[X]=2/3E[X]=2/3 về mặt lý thuyết)

    Quy ước: nếu n=0n=0n=0 hoặc không có mẫu nào được chấp nhận, tỉ lệ chấp nhận và/hoặc giá trị trung bình quy định bằng 000.

    Ví dụ: n=1n=1n=1, cặp (0.2, 0.9): vì 0.9>0.20.9 > 0.20.9>0.2 nên bị từ chối. Output: 0 0.000000 0.000000.

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

      Dòng 1: số nguyên nnn (0≤n≤1050 \le n \le 10^50≤n≤105). nnn dòng tiếp theo, mỗi dòng gồm hai số thực ui vi∈[0,1]u_i\ v_i \in [0,1]ui​ vi​∈[0,1].

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

      In trên một dòng ba giá trị cách nhau bởi khoảng trắng: số nguyên kkk (số mẫu chấp nhận), tỉ lệ chấp nhận (làm tròn 6 chữ số thập phân), giá trị trung bình các mẫu chấp nhận (làm tròn 6 chữ số thập phân).

    Ví dụ:

    Đầu vào:

    0
    

    Đầu ra:

    0 0.000000 0.000000
    

    Đầu vào:

    3
    0.5 0.1
    0.8 0.2
    0.9 0.05

    Đầu ra:

    3 1.000000 0.733333
    

    Đang tải editor...