230 likes | 405 Views
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
E N D
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 • 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 −1jedinič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 • nishoda • psvjerojatnost da ishod pada u razreds • Ysstvarna 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 χ2distribucije isključivo ovise o stupnju slobode, a ne o broju ishoda i njihovoj vjerojatnosti • testiranja uniformnosti →pizmeđ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 uk= 31 razred
Testovi slučajnosti • Kolmogorov-Smirnov test • Neparametarski test • Usporedbi funkcija kumulativne raspodjele (CDF) • Empirijska vs. Teorijska • Statističke vrijednosti K+ni 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.“ −RobertR. Coveyou, Oak Ridge National Laboratory