1 / 60

Maturski rad iz modelovanja u fizici: Generatori pseudo – slučajnih brojeva

Maturski rad iz modelovanja u fizici: Generatori pseudo – slučajnih brojeva. Mentor : Jugoslav Karamarkovi ć Strahinja Bonić. Slučajne promenljive. Slučajna promenljiva je veličina koja na numerički način opisuje ishod nekog eksperimenta (ogleda) sa slučajnim ishodom.

lakia
Download Presentation

Maturski rad iz modelovanja u fizici: Generatori pseudo – slučajnih brojeva

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Maturski rad iz modelovanja u fizici:Generatori pseudo – slučajnih brojeva Mentor: Jugoslav Karamarković Strahinja Bonić

  2. Slučajne promenljive • Slučajna promenljiva je veličina koja na numerički način opisuje ishod nekog eksperimenta (ogleda) sa slučajnim ishodom. • Slučajne promenljive se dele na diskretne i kontinualne. Ako je skup ishoda ogleda konačan ili prebrojivo beskonačan onda je u pitanju diskretna, a ako je neprebrojivo beskonačan u pitanju je kontinualna slučajna promenljiva.

  3. Slučajne promenljive • Posmatrajmo kontinualnu slučajnu promenljivu x koja može da uzme bilo koju vrednost iz intervala (x1,x2). • Ako postoji funkcija g(x) definisana na intervalu (x1,x2) takva da g(x1)dx predstavlja verovatnoću da slučajna promenljiva uzme vrednost u interva-lu (x1, x1+dx) onda se funkcija g(x) naziva funkcija gustine raspodele.

  4. Slučajni brojevi • Definicija: Slučajna promenljiva Z sa uniformnom raspodelom na intervalu (0,1) naziva se slučajan broj. • funkcija gustine f(z)={ 0 z<0 1 0<z<1 0 z>0

  5. Slučajni brojevi • Uopšteno govoreći, postoje tri načina za generisanje slučajnih brojeva: • 1) tablice - mana tablica je ograničena dužina i glomaznost • 2) slučajni procesi u prirodi (poput šuma u elektronskoj spravi) • 3) kompjuterski generisani "pseudo-slučajni" brojevi

  6. Pseudoslučajni brojevi • Pseudoslučajni brojevi su oni koji se dobijaju po nekoj formuli ili algoritmu i koji imitiraju vrednosti slučajne promen-ljive Z sa uniformnom raspodelom na intervalu (0,1) u smislu da zadovoljavaju niz testova koje zadovoljavaju i slučajni brojevi.

  7. Pseudoslučajni brojevi • Da bi se ubrzao proces generisanja, napisani su kompjuterski softveri za dobijanje nizova slučajnih brojeva. Međutim, kako je kompjuter deterministička mašina, sam koncept "slučajnog" na njega je neprimenljiv.

  8. Pseudoslučajni brojevi • Ovi softveri zapravo samo simuliraju nizove slučajnih brojeva, obzirom da je niz koji se dobija potpuno određen relativno malim brojem zadatih početnih vrednosti i nakon nekog broja elemenata počinje periodično da se ponavlja.

  9. Pseudoslučajni brojevi • Na osnovu metoda koji koriste, ovi softveri mogu se podeliti na: • Linear congruential generator - linearni generator slučajnih brojeva • Lagged Fibonacci generator –koristi se formula slična onoj za dobijanje Fibonačijevog niza • Linear shift register generator - brojevi se ne dobijaju aritmetičkim već logičkim operacijama.

  10. Pseudoslučajni brojevi • Mnogo kvalitetniji nizovi se dobijaju kada na računaru postoji neki modul koji daje slučajne brojeve prikupljene iz istinski stohastičkih događaja koji se događaju na mikronivou. Neka od mogućih rešenja su data ispod: • 1) hardverske mogućnosti: • sistemski sat • korišćenje audio ulaza na zvučnoj kartici • merenje vremena između klikova mišem ili praćenje kretanja kursora • 2) upotreba privremenih podataka:

  11. Pseudoslučajni brojevi • Primena generatora slučajnih brojeva može se podeliti na dve grupe: • kriptografija (šifrovanje): • računarska simulacija (opisivanje realnog događaja uz pomoć brojeva)

  12. Pseudoslučajni brojeviMetod sredina kvadrata (Nojman) • Zk=0,w1,w2,...w2m • Zk2=0, u1,u2,...u4m • Zk+1=0, um+1,um+2,...u3m (0.3762)2 0.1415264 0.1526

  13. Pseudoslučajni brojeviDecimale broja π • π/10=0.314159... • Primer: k=0.0003 (10000*k=3 (od treće značajne cifre broja π/10)) • 0.314159265358 979323846264338327950288... • Z0=0,w1,w2,...w10=0.4159265358 • Z1=0,w11,w12,...w20=0.9793238462 • Z2=0,w21,w22,...w30=0.6433832795

  14. Pseudoslučajni brojeviGenerator ,,Wolfram Mathematica” • Programski paket ,,Wolfram Mathematica”, kao i mnogi drugi programi danas, koriste generator ,,Mersenne twister” koji su 1997. godine isprogramirali Makoto Matsumoto i Takuji Nishimura. Generator se bazira na matričnoj linearnoj rekurenciji nad binarnim poljem.

  15. Testovi (pseudo)slučajnih brojeva • Test uniformnosti (bin test) • Test korelacije (test dupleta, tripleta, kvadripleta,...) • Test srednjih vrednosti kvadrata, kubova...

  16. Testovi (pseudo)slučajnih brojeva • Za različite ulazne podatke generisana su po 3 niza za svaki od prethodno navedenih generatora • Vrši se upoređivanje sva 3 generatora pomoću 3 različita testa. Testovi se rade za svaki od 3 niza navedenih generatora • Za test dupleta i test uniformnosti generisani su nizovi od po 10000 brojeva, a za test srednjih vrenosti kvadrata po 1000 brojeva

  17. Test dupleta • Zamislimo kvadrat stranice a=1 i podelimo ga na npr. P =20x20=400 jednakih delova (ćelija). • Uočimo jednu ćeliju. Verovatnoća da se generacija slučajnog para (z1,z2) poklopi sa tom ćelijom jednaka je 1/P. Ako se opit ponavlja N=kP puta, verovatnoća da će ćelija ostati nepogođena jednaka je p=(1-1/P)kP=exp(-k)

  18. Test dupleta • a očekivani broj nepogođenih ćelija je Pexp(-k) • Test prati broj nepogođenih ćelija i upoređuje ga sa teorijskom vrednošću.

  19. Test dupleta • Loš genrator tipa 1: • Teži da što pre popuni sva polja pa se može pretpostaviti da u sledećem koraku par neće popuniti neko od već popunjenih polja • Loš generator tipa 2: • Vrlo sporo popunjava prazna polja jer se parovi grupisu oko određenih polja (koordinata) pa se u sledećem koraku može predvideti par u nekom od tih polja

  20. Test dupleta

  21. Test dupleta

  22. Test dupleta

  23. Test dupleta

  24. Test dupleta • Što se tiče metoda sredina kvadrata, on daje dobre vrednosti samo u početku i to samo za neke ulazne vrednosti. U naredna tri grafika vidi se da ovaj metod daje dobre rezultate za prvih 50 parova, dok za vise od 500 parova pokazuje velika odstupanja. Ostala dva generatora daju jako dobre rezultate.

  25. Test srednje vrednosti kvadrata • Izračunava se srednja vrednost kvadrata za prvih 10 članova (Xsr10 =(Z1+...+ Z10 • )/10), pa zatim za 20 (Xsr20), pa za 30... • Pokazuje se da kod beskonačo dugih nizova slučajnih brojeva (sa uniformnom raspodelom) važi: • Xsr ∞=1/3=0.333

  26. Test srednje vrednosti kvadrata

  27. Test srednje vrednosti kvadrata

  28. Test srednje vrednosti kvadrata

  29. Test srednje vrednosti kvadrata • Sa prethodnih grafika se vidi da sva tri generatora daju dobre rezultate, s tim što metod sredina kvadrata pokazuje izvesna odstupanja od teorijske vrednosti.

  30. Test uniformnosti • Test uniformnosti (bin test): Interval (0,1) se podeli na m jednakih podintervala i pro-verava da li je verovatnoća pojavljivanja slučajnog broja u svakom podintervalu 1/m. • U našem slučaju je m=10

  31. Test uniformnosti

  32. Test uniformnosti

  33. Test uniformnosti

  34. Test uniformnosti • Sa prethodnih grafika se vidi da π-generator i Mathematica daju dobre rezultate, dok metod sredina kvadrata pokazuje izvesna odstupanja.

  35. Provera generatora pseudo-slučajnih brojeva • Jednodimenzionalna slučajna šetnja: Čestica se nalazi u koordinatnom početku x-ose. Ona može da se kreće jediničnim koracima levo (xi=-1) i desno (xi=+1). Pre svakog koraka verovatnoća kretanja u desno je p, a verovatnoća kretanja u levo q (q=1-p). Slučajna promenljiva X definiše se kao položaj čestice nakon n koraka: X=x1+x2+...+xn

  36. Provera generatora pseudo-slučajnih brojeva • Pretpostavimo sada da je p=q=0.5. Intuitivno je jasno da je E(X)=0. Potražimo D(X): • Onda je: σ=n^(1/2)

  37. Provera generatora pseudo-slučajnih brojeva • Kako shvatiti ovaj rezultat? • Ako posmatramo m čestica, svaka od čestica će se posle definisanog broja koraka (n) naći u nekoj tački xi koja ne mora biti nula: n>=xi>=-n (i=1,m). Međutim, ako izvršimo usrednjavanje po svim česticama, imaćemo:

  38. Provera generatora pseudo-slučajnih brojeva

  39. Provera generatora pseudo-slučajnih brojeva • Modelovanje jednodimenzionalne slučajne šetnje pomoću generatora se vrši na sledeći način: • 1) Ako se slučajni broj Zi nalazi u intervalu (0.0,0.5) čestici se dodeljuje korak xi = -1 • 2) Ako se slučajni broj Zi nalazi u intervalu (0.5,1.0) čestici se dodeljuje korak xi = +1

  40. Provera generatora pseudo-slučajnih brojeva • Za modelovanje je korišćen generator programskog paketa ,,Wolfram Mathematica” i π-generator. Na graficima su prikazani rezultati matematičkog očekivanja i disperzije za slučaj od m=10,20,50,100 čestica u n=100 koraka, prvo za Mathematicu, a onda za π-generator, naizmenično:

  41. Provera generatora pseudo-slučajnih brojeva

  42. Provera generatora pseudo-slučajnih brojeva

  43. Provera generatora pseudo-slučajnih brojeva

  44. Provera generatora pseudo-slučajnih brojeva

  45. Provera generatora pseudo-slučajnih brojeva

  46. Provera generatora pseudo-slučajnih brojeva

  47. Provera generatora pseudo-slučajnih brojeva

  48. Provera generatora pseudo-slučajnih brojeva

  49. Provera generatora pseudo-slučajnih brojeva

  50. Provera generatora pseudo-slučajnih brojeva

More Related