Sebuah jawaban terbaru menyebutkan penggunaan Fortuna atau Mersenne Twister Random Number Generator ( RNGs ) untuk menabur simulasi Monte Carlo . Saya belum pernah mendengar Fortuna sebelumnya jadi saya mencarinya - sepertinya ini terutama ditujukan untuk penggunaan kriptografi.
Saat ini saya menggunakan Mersenne Twister dalam kode produksi untuk menyemai algoritma K-Means.
Yang mana (Fortuna atau Mersenne Twister) yang dianggap terbaik untuk aplikasi "seeding seeding" (mis. Seeding Monte Carlo dan K-Means)? Atau apakah itu "melemparkan" - yaitu menggunakan yang paling nyaman.
Dari tempat saya duduk, "terbaik" harus memberikan angka acak kualitas tertinggi, beroperasi dengan cepat, dan (mungkin) memiliki jejak memori yang rendah. Dari semua ini, kualitas mungkin yang paling penting bagi kebanyakan dari kita.
RAND_MAX=32768
nilai yang mungkin. Saat ini saya menggunakan MT untuk sim Monte Carlo raytracing. Namun, saya tidak melihat MT sebagai hambatan kinerja di profiler saya, mungkin karena saya melakukan generasi "acak" hal-hal seperti arah ray sebagai preprocess . Sebagai contoh, saya mungkin menghasilkan array 100.000 sinar saat startup, menyimpannya dalam sebuah array, dan secara acak memilih posisi awal array saat runtime (berjalan untuk 10.000 sinar atau lebih dari koleksi). Ini memiliki overhead memori yang relatif tinggi, dengan imbalan distribusi angka acak yang baik.