Yalancı rasgele sayı oluşturma algoritmaları


Yanıtlar:


10

R'de, rastgele sayı oluşturma için varsayılan ayar şunlardır:

  1. U (0,1) için Mersenne-Twister algoritmasını kullanın
  2. Guassian numaraları için standart normal dağılım işlevinin sayısal ters çevrilmesini kullanın.

Bunu kolayca kontrol edebilirsiniz, viz.

> RNGkind()
[1] "Mersenne-Twister" "Inversion"

Varsayılan jeneratörü Super-Duper, Wichmann-Hill, Marsaglia-Multicarry veya hatta kullanıcı tarafından sağlanan bir PRNG gibi diğer PRNG'lerle değiştirmek mümkündür. Daha fazla bilgi için? RNGkind'e bakın. Hiç varsayılan PRNG'yi değiştirmem gerekmedi.

C GSL kütüphanesi kullanan Mersenne-Twister varsayılan olarak.


İkinci noktanızdan emin misiniz, CDF'yi ters çevirerek normal rasgele değişkenler üretiyor musunuz? Normal CDF'nin tersi değerlendirmek oldukça pahalı bir fonksiyondur. Box-Muller'in yönteminin daha hızlı olacağını düşünüyorum. Daha hızlı hala Marsaglia'nın normal üretmek için ziggurat yöntemi olurdu.
John D. Cook

Bunu da şüpheli buluyorum. Marsaglia'nın Ziggurat'ı Matlab'da varsayılan ve Matlab'ın rasgele sayı üretme alanında R'den daha iyi olduğunu düşünemiyorum.
shabbychef

@John Gerçekten de, polar yöntem R'de mevcuttur, setRNG paketine bakın.
chl


3

George Marsaglia tarafından tasarlanan Xorshift PNG. Süresi (2 ^ 128-1) Mersenne-Twister'dan çok daha kısadır, ancak algoritmanın uygulanması çok basittir ve kendini paralelleştirmeye borç verir. DSP çipleri ve Nvidia'nın Tesla gibi çok çekirdekli mimarilerde iyi performans gösterir.


Bu GPU'lara uygulamak için iyi olur mu? Ayrıntılar, referanslar için bağlantı?
DarenW

2
Thomas, Howes, Luk - 2009 - Rastgele sayı üretimi için CPU'lar, GPU'lar, FPGA'lar ve büyük ölçüde paralel işlemci dizilerinin karşılaştırması. doi.acm.org/10.1145/1508128.1508139 . CPU, GPU, FPGA ve Devasa Paralel İşlemci Dizileri üzerinde çalışan bir dizi PNG'nin tartışması + karşılaştırmaları.
brotchie

Belki de çoklu akışlı L' Ecuyer'ın RNG'si ( j.mp/bzJSlm )?
chl

3

at http://prng.di.unimi.it/ Birkaç rasgele sayı üreticilerinin bir atışları TestU01, Zor Ölen ve dieharder yerini yalancı rasgele sayı jeneratörler için modern test seti kullanılarak test bulabilirsiniz. Seçebilir ve seçebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.