Trực quan hóa biến đổi Box Mull Muller – các điểm được tô màu trong ô vuông đơn vị (u1, u2), được vẽ dưới dạng hình tròn, được ánh xạ tới 2D Gaussian (z0, z1), được vẽ dưới dạng hình chữ thập. Các ô ở lề là các hàm phân phối xác suất của z0 và z1. Lưu ý rằng z0 và z1 không bị ràng buộc; chúng có vẻ là trong [-2.5,2.5] do sự lựa chọn của các điểm minh họa. Trong tệp SVG, di chuột qua một điểm để làm nổi bật nó và điểm tương ứng của nó.
Biến đổi Box kiếm Muller bởi George Edward Pelham Box và Mervin Edgar Muller, [1] là giả ngẫu nhiên phương pháp lấy mẫu số để tạo các cặp số ngẫu nhiên độc lập, tiêu chuẩn, phân phối bình thường (không kỳ vọng, phương sai đơn vị), được cung cấp một nguồn các số ngẫu nhiên phân bố đồng đều. Trên thực tế, phương pháp này lần đầu tiên được đề cập rõ ràng bởi Raymond E. A. C. Paley và Norbert Wiener vào năm 1934. [2]
Phép biến đổi Box Mull Muller thường được thể hiện dưới hai dạng. Mẫu cơ bản được đưa ra bởi Box và Muller lấy hai mẫu từ phân phối đồng đều trong khoảng [0, 1] và ánh xạ chúng thành hai mẫu chuẩn, phân phối chuẩn. Dạng cực lấy hai mẫu từ một khoảng khác nhau, [−1, +1] và ánh xạ chúng thành hai mẫu được phân phối bình thường mà không sử dụng các hàm sin hoặc cos.
Biến đổi Boxer Muller được phát triển như một phương pháp thay thế hiệu quả hơn về mặt tính toán cho phương pháp lấy mẫu biến đổi nghịch đảo. [3] Thuật toán ziggurat đưa ra một phương pháp hiệu quả hơn [ cần trích dẫn ] ]. Hơn nữa, phép biến đổi Boxer Muller có thể được sử dụng để vẽ từ mật độ Gaussian bivariate bị cắt ngắn. [4]
Dạng cơ bản [ chỉnh sửa ]
Giả sử U và U 2 là các mẫu độc lập được chọn từ phân phối đồng đều trên khoảng đơn vị (0, 1). Để cho
và
Sau đó Z 0 và Z 1 là các biến ngẫu nhiên độc lập với phân phối chuẩn thông thường.
Đạo hàm [5] dựa trên tính chất của hệ thống Cartesian hai chiều, trong đó tọa độ X và Y được mô tả bởi hai biến ngẫu nhiên độc lập và phân phối thông thường, các biến ngẫu nhiên cho R 2 và (hiển thị ở trên) trong tọa độ cực tương ứng cũng độc lập và có thể được biểu thị bằng
Hai giá trị phân bố đồng đều, u và v được sử dụng để tạo ra giá trị = R 2 được phân phối đồng đều như vậy. Các định nghĩa về sin và cos sau đó được áp dụng cho dạng cơ bản của phép biến đổi Box Mull Muller để tránh sử dụng các hàm lượng giác.
Dạng cực được đề xuất đầu tiên bởi J. Bell [6] và sau đó được sửa đổi bởi R. Knop. [7] Trong khi một số phiên bản khác nhau của phương pháp cực đã được mô tả, phiên bản của R. Knop sẽ được mô tả ở đây vì nó được sử dụng rộng rãi nhất, một phần do được đưa vào Công thức toán số .
Đã cho u và v phân phối độc lập và thống nhất trong khoảng thời gian đóng [−1, +1]đặt s = R 2 = u 2 + v 2 . (Rõ ràng
) . Nếu s = 0 hoặc s ≥ 1 loại bỏ u và v và thử một cặp khác [ u v ). Bởi vì u và v được phân phối đồng đều và vì chỉ các điểm trong vòng tròn đơn vị đã được thừa nhận, các giá trị của s sẽ được phân phối đồng đều trong khoảng thời gian mở ( 0, 1) cũng vậy. Cái sau có thể được nhìn thấy bằng cách tính hàm phân phối tích lũy cho s trong khoảng (0, 1). Đây là khu vực của một vòng tròn có bán kính
được chia cho
. Từ đó, chúng ta thấy hàm mật độ xác suất có giá trị không đổi 1 trên khoảng (0, 1). Tương tự như vậy, góc θ chia cho
được phân bố đồng đều trong khoảng [01)vàđộclậpvới s .
Bây giờ chúng tôi xác định giá trị của s với giá trị của U 1 và
với U 2 ở dạng cơ bản. Như được hiển thị trong hình, các giá trị của
và
ở dạng cơ bản có thể được thay thế bằng các tỷ số
và
tương ứng. Ưu điểm là tính toán các hàm lượng giác trực tiếp có thể tránh được. Điều này hữu ích khi các hàm lượng giác đắt hơn để tính toán hơn so với phép chia duy nhất thay thế cho từng hàm.
Giống như dạng cơ bản tạo ra hai độ lệch chuẩn thông thường, phép tính thay thế này cũng vậy.
] Phương pháp cực khác với phương pháp cơ bản ở chỗ nó là một kiểu lấy mẫu từ chối. Nó loại bỏ một số số ngẫu nhiên được tạo ra, nhưng có thể nhanh hơn phương pháp cơ bản vì nó đơn giản hơn để tính toán (với điều kiện là trình tạo số ngẫu nhiên tương đối nhanh) và mạnh hơn về số lượng. [8] Nó tránh sử dụng các hàm lượng giác, có thể tốn kém trong một số môi trường máy tính [ cần trích dẫn ] . Nó loại bỏ 1 – π / 4 21,46% trong tổng số các cặp số ngẫu nhiên được phân phối đồng đều được tạo ra, tức là loại bỏ 4 / π – 1 27,3
Dạng cơ bản yêu cầu hai phép nhân, 1/2 logarit, 1/2 căn bậc hai và một hàm lượng giác cho mỗi phương sai thông thường. [9] Trên một số bộ xử lý, cosine và sin của cùng một đối số có thể được tính song song sử dụng một hướng dẫn duy nhất. Đáng chú ý đối với các máy dựa trên Intel, người ta có thể sử dụng lệnh biên dịch chương trình biên dịch fsincos hoặc lệnh expi (thường có sẵn từ C như một hàm nội tại), để tính toán phức tạp
và chỉ cần tách các phần thực và tưởng tượng.
Lưu ý: Để tính toán rõ ràng dạng cực phức, sử dụng các thay thế sau ở dạng tổng quát,
Hãy
và [19659327] z = 2 π u 2 . { displaystyle z = 2 pi u_ {2}.}
Sau đó
Dạng cực yêu cầu 3/2 phép nhân, 1/2 logarit, 1/2 căn bậc hai và 1 / 2 chia cho mỗi phương sai bình thường. Hiệu quả là thay thế một phép nhân và một hàm lượng giác bằng một phép chia đơn và một vòng lặp có điều kiện.
Cần lưu ý rằng fsincos đã trở nên rất nhanh trong các kiến trúc CPU hiện đại, do đó tốc độ "lợi ích" của phương pháp lấy mẫu từ chối không còn thực tế nữa. Trong khi đó, phép chia dấu phẩy động theo s và vòng lặp có điều kiện, cả hai vẫn là một chi phí đáng kể trong thuật toán lấy mẫu từ chối, không có ở dạng cơ bản.
Cắt đuôi [ chỉnh sửa ]
Khi một máy tính được sử dụng để tạo ra một biến ngẫu nhiên thống nhất, chắc chắn sẽ có một số điểm không chính xác vì có thể bị giới hạn ở mức thấp hơn. 0. Nếu trình tạo sử dụng 32 bit cho mỗi giá trị đầu ra, số khác không nhỏ nhất có thể được tạo là