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: giảm phương sai bằng biến đối ngẫu

    Xét bài toán ước lượng θ=∫01ex dx=e−1≈1.718282\theta = \int_0^1 e^x\,dx = e - 1 \approx 1.718282θ=∫01​exdx=e−1≈1.718282 bằng phương pháp Monte Carlo. Cho sẵn nnn số u1,…,un∈[0,1)u_1,\ldots,u_n \in [0,1)u1​,…,un​∈[0,1) (không cần sinh ngẫu nhiên). So sánh hai cách ước lượng:

    1. Monte Carlo thông thường: đặt Yi=euiY_i = e^{u_i}Yi​=eui​. θ^1=1n∑i=1nYi,s12=1n−1∑i=1n(Yi−θ^1)2\hat\theta_1 = \dfrac{1}{n}\sum_{i=1}^n Y_i, \qquad s_1^2 = \dfrac{1}{n-1}\sum_{i=1}^n (Y_i-\hat\theta_1)^2θ^1​=n1​∑i=1n​Yi​,s12​=n−11​∑i=1n​(Yi​−θ^1​)2

    2. Biến đối ngẫu (antithetic variates): với mỗi uiu_iui​, ghép thêm giá trị đối ngẫu 1−ui1-u_i1−ui​ và đặt Zi=eui+e1−ui2Z_i = \dfrac{e^{u_i}+e^{1-u_i}}{2}Zi​=2eui​+e1−ui​​. θ^2=1n∑i=1nZi,s22=1n−1∑i=1n(Zi−θ^2)2\hat\theta_2 = \dfrac{1}{n}\sum_{i=1}^n Z_i, \qquad s_2^2 = \dfrac{1}{n-1}\sum_{i=1}^n (Z_i-\hat\theta_2)^2θ^2​=n1​∑i=1n​Zi​,s22​=n−11​∑i=1n​(Zi​−θ^2​)2

    Kỹ thuật biến đối ngẫu thường cho phương sai s22s_2^2s22​ nhỏ hơn nhiều so với s12s_1^2s12​ trong khi cả hai đều ước lượng đúng θ\thetaθ.

    Quy ước: nếu n=0n=0n=0, cả bốn giá trị output bằng 000. Nếu n=1n=1n=1, cả s12s_1^2s12​ và s22s_2^2s22​ quy định bằng 000 (không chia cho 000).

    Ví dụ: n=1n=1n=1, u1=0.5u_1=0.5u1​=0.5: Y1=e0.5≈1.648721Y_1 = e^{0.5}\approx 1.648721Y1​=e0.5≈1.648721 nên θ^1=1.648721\hat\theta_1=1.648721θ^1​=1.648721; Z1=e0.5+e0.52=1.648721Z_1=\dfrac{e^{0.5}+e^{0.5}}{2}=1.648721Z1​=2e0.5+e0.5​=1.648721 nên θ^2=1.648721\hat\theta_2=1.648721θ^2​=1.648721; s12=s22=0s_1^2=s_2^2=0s12​=s22​=0 (vì n=1n=1n=1). Output: 1.648721 0.000000 1.648721 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). Dòng 2 (nếu n>0n>0n>0): nnn số thực u1,…,un∈[0,1)u_1,\ldots,u_n \in [0,1)u1​,…,un​∈[0,1), cách nhau bởi khoảng trắng.

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

      In trên một dòng bốn số thực cách nhau bởi khoảng trắng: θ^1\hat\theta_1θ^1​, s12s_1^2s12​, θ^2\hat\theta_2θ^2​, s22s_2^2s22​, mỗi số làm tròn đúng 6 chữ số thập phân.

    Ví dụ:

    Đầu vào:

    1
    0.5

    Đầu ra:

    1.648721 0.000000 1.648721 0.000000
    

    Đầu vào:

    0
    

    Đầu ra:

    0.000000 0.000000 0.000000 0.000000
    

    Đang tải editor...