From: a.kadir altan (e108193@metu.edu.tr)
Date: Mon 11 Aug 2003 - 21:28:46 EEST
----- Original Message -----
From: "Baris Hasdemir" <penguen@hasdemir.com>
To: <linux-programlama@liste.linux.org.tr>
Sent: Monday, August 11, 2003 6:31 PM
Subject: [linux-programlama] Re: makineler ve rasgele sayi uretimi
>
> bildigim kadariyla pseudo-random'ligin bir de dagilimsal yonu var.
evet haklisin
> "seed"i bir sekilde gercek-rastgele olarak aldik
burada soylenebilecek en guzel soz, elimizden geldigince gercek rastgele,
serdar bey'in uzun yazdigi mesajin ozu de bu anladigim kadariyla.
gercek-rastgelenin tanimi da o zaten, elimizden geldigince diye gider...
biraz felsefesine girmis serdar bey.
> ve rand() fonksiyonunu
rand fonksiyonu linear congruental generator mantigi ile calisir. en basit
tanimi X(n)=aX(n-1)+b mod m dir... seed dedigimiz de X(0) dir, X(1) diye
gider dizimiz... LCG en basit PRNG ornegidir (her seferinde uzun yazmiyorum
artik)... ve her PRNG gibi bu da periyodiktir, soyle ki bir ciktiya daha
once rastlanmasi halinde donguye girecektir...
> bununla besledik diyelim. rand fonksiyonu bu tohumu alip normal
> dagilimla(yahut da bernoulli, poisson, binomial, hypergeometric,
> noncentral hypergeometric vs. vs. ama sonucta "bilinen" bir dagilim
> semasiyla) sayi uretiyor diye biliyorum.
iyi olani oyle olmali...
> yani sonuc olarak tohum ne
> kadar rastgele olursa olsun, sonucta elde ettigimiz sayi dizgisi
> "bilinen" bir dagilimla dagitilacaktir. ornegin normal dagilimi
> sectiysek uretilen pseudo-satgele sayilarin standart sapmasi, varyansi,
> skewness'i yok bilmem kurtosis'i onceden belli olacaktir. bu nedenle de
> uretilen sayilar hicbir zaman dogadaki gercek bir rastgeleligi
> sergilemeyecektir. tabii dogadaki gercek rastgeleleik ne kadar rastgele
> (kaos teorisi vs.) ayri bi tartisma konusu.
dogadaki rastgelelik biraz farkli bir tanim... daha onceki bir mesajda
yazmistim, uretecin randomlugu ile bir ciktininki farkli seyler aslinda,
cok ayni gibi gozukse de... en azindan incelenirken farkli seyler goz onunde
bulundurulmali...
bir PRNG'den alinan ciktida onemli olan istatistiksel yapilarin ozelliklerin
beklendigi gibi olmasi gerekir.. iyisinde en azindan... kullanilan hersey en
iyisi demek degildir...
> ama hal boyleyse, tohumu aldigimiz yerden her seferinde(dizginin her
> yeni degeri icin) niye yeni bir gercek-rastgele sayi almiyoruz, en ufak
> bi fikrim yok.
cogu zaman cikti bu istatistiksel ozellikleri gosterdiginde yeterli
olmaktadir, zaten gercek-rastgele ureteclerinin hem yavas olmasi (hizla
kalite ters orantili, entropi olayi) hem uygulamada ihtiyac duyulacak diger
sebeplerden dolayi zaten uretec olarak 'makul yeterlilikte' bir
gercek-rastgele uretec ile uretilmis seed, guvenilir, istatistiksel
ozellikleri basarili olarak gosteren (testleri gectigi bilinen) bir PRNG ile
(ki rand() kotu bir PRNG) istenen dizi uretilir... yani PRNG kotudur,
kullanilmaz dememek lazim .. basliga dahil oldugum bu sabahtan beri
kastettigim buydu... onemli olan kaliteli bir PRNG ile kaliteli bir seed
kullanmak cogu zaman yeterlidir... cunku o istatistiksel ozellikler
(google'dan fazlasiyla bilgi bulabilirsiniz) zaten sayet bir uretec
real-rand urettigini idda etseydi ne beklerdik 'istatistiksel olarak'
demek... yoksa serdar bey'in idda ettigi gibi direk random ciktiya ulasmak
degil sadece entropisini kucultmek olay (ciktiya saldiri durumunu
diyorum)...
baris, umarim cok karistirmamisimdir, yardimci olabilmisimdir...
gelisine dogaclama yaziyorum :)
iyi calismalar,
kdr
>
> sevgiler,
> baris
>
>