Saya sedang melakukan beberapa simulasi persamaan Langevin, untuk berbagai kekuatan eksternal. Diberitahu bahwa C's rand()
from stdlib.h
dapat memperkenalkan bias pada hasil saya, saya menggunakan Twister Mersenne.
Namun demikian, saya ingin tahu (dan melihat) persis apa jenis kesalahan yang dapat diperkenalkan oleh generator kongruensi linear dalam simulasi saya. Ini adalah hal-hal yang telah saya coba:
- Menghasilkan tuple 3D tebaran untuk mencoba melihat hyperplanes. Saya tidak bisa melihat apa-apa.
- Melakukan FFT dari vektor besar angka acak. Ini hampir sama untuk Twister dan Mersenne
rand()
. - Memeriksa prinsip ekuipartisi untuk partikel dalam gerakan Brown. Kedua integrator setuju dengan nilai yang diharapkan dari dengan jumlah digit signifikan yang sama.
- Melihat seberapa baik mereka nampan di sejumlah nampan yang bukan kekuatan dua. Keduanya memberikan hasil kualitatif yang sama, tidak ada yang lebih baik.
- Melihat jalur Brown untuk melihat perbedaan yang jelas dari . Sekali lagi, tidak ada keberuntungan.
- Distribusi titik dalam lingkaran. Diisi, dan hanya di perimeter. Di antara mereka semua dan di antara tetangga terdekat (jawaban Shor, di bawah dalam komentar). Tersedia di intisari ini , jalankan saja dengan Julia 0.5.0 setelah menginstal pustaka yang diperlukan (lihat intisari untuk instruksinya).
Saya ingin menekankan bahwa saya mencari bias yang diperkenalkan dalam konteks simulasi fisik. Sebagai contoh, saya telah melihat betapa rand()
gagalnya tes dieharder gagal sementara Mersenne Twister tidak, tetapi untuk saat itu tidak terlalu berarti bagi saya.
Apakah Anda memiliki contoh fisik, konkret, tentang bagaimana generator bilangan acak yang buruk merusak simulasi Montecarlo?
Catatan: Saya telah melihat bagaimana sukanya PRNG RANDU
bisa mengerikan. Saya tertarik pada contoh yang tidak jelas, tentang generator yang terlihat tidak bersalah tetapi pada akhirnya menimbulkan bias.