Những thuật toán được sử dụng trong các trình tạo số ngẫu nhiên hiện đại và chất lượng tốt?
Những thuật toán được sử dụng trong các trình tạo số ngẫu nhiên hiện đại và chất lượng tốt?
Câu trả lời:
Trong R, cài đặt mặc định để tạo số ngẫu nhiên là:
Bạn có thể dễ dàng kiểm tra điều này, viz.
> RNGkind()
[1] "Mersenne-Twister" "Inversion"
Có thể thay đổi trình tạo mặc định thành các PRNG khác, chẳng hạn như Super-Duper, Doesmann-Hill, Marsaglia-Multicarry hoặc thậm chí là PRNG do người dùng cung cấp. Xem? RNGkind để biết thêm chi tiết. Tôi chưa bao giờ cần phải thay đổi PRNG mặc định.
Các C GSL thư viện cũng sử dụng Mersenne Twister- theo mặc định.
Các Mersenne Twister là một trong tôi đã đi qua và sử dụng trước đó bây giờ.
Xorshift PNG được thiết kế bởi George Marsaglia. Thời gian của nó (2 ^ 128-1) ngắn hơn nhiều so với Mersenne-Twister nhưng thuật toán rất đơn giản để thực hiện và cho vay để song song hóa. Hoạt động tốt trên các kiến trúc nhiều lõi như chip DSP và Tesla của Nvidia.
Tại http://prng.di.unimi.it/, bạn có thể tìm thấy một loạt các trình tạo số ngẫu nhiên được thử nghiệm bằng TestU01, bộ thử nghiệm hiện đại cho các trình tạo số giả ngẫu nhiên thay thế cho dieharder và dieharder. Bạn có thể chọn và chọn.