Upload
virginia-skinner
View
49
Download
1
Embed Size (px)
DESCRIPTION
Postupci i algoritmi generiranja (pseudo)slučajnih brojeva. Projekt iz predmeta Slučajni procesi u sustavima Davor Ćosić Borislav Đurđinovski Bojan Gašpar Denis Jakuš Gordan Markuš 10. siječanj 2012. Generatori pseudo(slučajnih) brojeva. Uređaj generator istinskih slučajnih brojeva - PowerPoint PPT Presentation
Citation preview
Sveučilište u ZagrebuFakultet elektrotehnike i računarstva
Postupci i algoritmi generiranja(pseudo)slučajnih brojeva
Projekt iz predmeta Slučajni procesi u sustavima
Davor Ćosić Borislav Đurđinovski
Bojan GašparDenis Jakuš
Gordan Markuš10. siječanj 2012.
Generatori pseudo(slučajnih) brojeva
Uređaj generator istinskih slučajnih brojeva fenomeni iz fizičkog svijeta
Termički šum otpornika ili diode Radioaktivni raspad čestica Nestabilnost frekvencije slobodnog oscilatora Zvuk iz mikrofona ili slika iz kamere
Algoritam generator pseudoslučajnih brojeva deterministička priroda računala → prefiks pseudo
Izlaz → statistički potpuno nezavisne i nepredvidljive vrijednosti u obliku brojevnog niza
PRNG algoritmi
Primjer
PRNG algoritmi Lehmerov LCG
Multiplikativni linearni kongruentni algoritam Rekurzivna relacija:
m → prost broj (modul) a → cijeli broj iz intervala 2,3,...,m −1 (množitelj) Park-Miller
a = 16807 = 75 m = 231 −1
(a) paralelno vanjsko magnetsko polje (b) okomito vanjsko magnetsko polje
(c) ovisnost otpora o kutu
PRNG algoritmi Mersenneov uvijač
Period generatora je Mersseneov broj Matrica linearnih ponavljanja nad konačnim binarnim
poljem Uvijen generaliziran povratni posmačni registar
(engl. kratica TGFSR) Rekurzivna relacija:
Uvijena transformacija A ZAHTJEV: 2nw−r −1 je Mersenneov broj
Period doseže teorijsku gornju granicu 2nw−r −1 Ekvidistribucija u n dimenzija
PRNG algoritmi Mersenneov uvijač
w: veličina riječi (broj bitova) n: stupanj ponavljanja m: srednja riječ ili broj paralelnih odjeljenja 1 ≤ m ≤ n r: broj bitova donje maske bitova 0 ≤ r ≤ w −1 a: koeficijent matrice uvijanja b,c: TGFSR(R) bitovne maske s,t: TGFSR(R) posmaci bitova u,l: dodatni posmaci bitova
PRNG algoritmi Mersenneov uvijač
Uvijena transformacija A
Iw −1 jedinična matrica dimenzija (w−1) × (w−1)
PRNG algoritmi Mersenneov uvijač inačica MT19937
Period generatora: 219937 −1 (w,n,m,r) = (32,624,397,31) a = 9908B0DF16 u = 11 (s,b) = (7, 9D2C568016 ) (t,c) = (15, EFC6000016 ) l = 18
Pokazatelji slučajnosti Očekivanje
Idealni generator: E[X] = 0.5 Varijanca
Idealni generator: σ2 ≈ 0.0833
Entropija Mjera nepredvidljivosti slučajne varijable
Testovi slučajnosti Histogram
Test izvršen nad 100 000 uzoraka
Testovi slučajnosti Autokorelacija
Autokorelacijska ploha Park-Millerova generatora
Testovi slučajnosti Autokorelacija
Autokorelacijska ploha Mersenneova uvijača
Testovi slučajnosti Hi-kvadrat test
Neparametarski test Testiramo nultu hipotezu → uzorak ima određenu
(teorijsku) razdiobu
Jedan ishod → k razreda n ishoda ps vjerojatnost da ishod pada u razred s Ys stvarna vrijednost ishoda koji su ušli u razred s
Testovi slučajnosti Hi-kvadrat test
Statistička vrijednost V uspoređuje se s onim danim u tablici
ν = k −1 (stupanj slobode) Vrijednosti χ2 distribucije isključivo ovise o stupnju slobode, a ne o
broju ishoda i njihovoj vjerojatnosti testiranja uniformnosti → p između p = 25% i p = 75%
Testovi slučajnosti Hi-kvadrat test
Test je izvršen 4 puta n = 10000 slučajnih brojeva, smještenih u k = 31 razred
Testovi slučajnosti Kolmogorov-Smirnov test
Neparametarski test Usporedbi funkcija kumulativne raspodjele (CDF) Empirijska vs. Teorijska
Statističke vrijednosti K+n i K−
n (devijacije)
Testovi slučajnosti Kolmogorov-Smirnov test
Uzimamo maksimalnu devijaciju Usporedba vrijednosti → nivo značajnosti testa (α) Distribucije su indentične uz navedeni nivo značajnosti
Test je izvršen za dvadeset različitih funkcija distribucije
Testovi slučajnosti Kolmogorov-Smirnov test
α = 99% za Mersenneov uvijač α = 95% za Park-Millerov generator
Testovi slučajnosti Kolmogorov-Smirnov test
TRNG sklopovlje Princip rada
Lavinski šum tranzistora Reverzno polariziran PN spoj emiter-baza
PIC mikrokontroler Analizu izvora šuma Serijsko slanje slučajnih podataka
TRNG sklopovlje Princip rada
PIC 16F648A mikrokontroler → komparator Signal → brze promjene razine između 1V i 2V te šiljci do
3V
Šiljak → prekid Broj šiljaka neparan → logička jedinica Broj šiljaka paran → logička nula
Sklopka za način rada Slučajni bajtovi ASCII znakovi ’1’ i ’0’
Sklopka za XOR masku XOR nad izlaznim podacima koristeći alternirajući niz jedinica i nula
(counter)
Primjena Statističko uzorkovanje Razne računalne simulacije
Monte Carlo debugging
Kriptografija generiranje lozinki
Kockanje Preslušavanje muzike
shuffle Ostala područja gdje je poželjan nepredvidiv
rezultat
Kraj
"The generation of random numbers is too important to be left to chance.“
− Robert R. Coveyou, Oak Ridge National Laboratory