Random Number Generator

56
RANDOM NUMBER GENERATION Oleh : Gede Aditra Pradnyana 5111201019 I Putu Gede Hendra Suputra 5111201020 TOPIK DALAM SIMULASI DISKRIT 1 Random Number Generation

description

Method for generating random number in discrete-event system simulation.

Transcript of Random Number Generator

PRESENTATION NAME

RANDOM NUMBER GENERATIONOleh :Gede Aditra Pradnyana 5111201019I Putu Gede Hendra Suputra 5111201020TOPIK DALAM SIMULASI DISKRIT1Random Number GenerationMENUPerkenalanRandom Number Generator Method- LCG (Linear Congruential Generator)- Fibbonaci Generator- Tausworth Generator- dll3. Testing Random Number Generator- Frequency Test- Autocorrelation Test- Gaps Test- dll2Random Number GenerationPERKENALANRandom NumberRandom Number GeneratorPentingnya Random Number dan GeneratornyaPerkembangan Random Number Generation3Random Number? (1)Apa itu random number (bilangan acak )? Bilangan yang kemunculannya terjadi secara acak, tidak dapat diprediksiKbbi Acak = tanpa pola, sembarangPengunaan kriptografi, pemodelan dan simulasi, judi, statistical (sampling), dll..

4Random Number GenerationRandom Number? (2)Jadi, random number generator (generation)?Penting? Banyak kejadian nyata yang memerlukan sesuatu yang tidak dapat diprediksi

5Random Number GenerationRandom Number Generator (1)Perkembangan / Sejarah Pencarian Bilangan Acak Mulanya dilakukan dengan manual (tangan) lempar dadu, kartu, menggelindingkan bola Orang statistik ikut Quickly & Large Random Number Random number machine muncul Electronic Number Indicator Equipment (ERNIE) Bersambung..6Random Number GenerationRandom Number Generator (2)Lanjut ceritaKelemahan mesin generator adaptasi dengan komputer, reproduce previously random number baca dari tabel (Rand Corporation Table) Memory requirement dan time Sekitar tahun 1940s numerical/aritmatical ways7Random Number GenerationRandom Number Generator(3)2 buah konsep utama dalam bilangan acak :a. true random number generator pembangkitan dengan mesin, manual, fenomena alamb. Pseudo random number dengan algoritma komputasional tertentu yang umumnya memasukkan suatu nilai awal (initial value)/seed/key/umpan arithmatic/numeric random number generator8Random Number Generation

Random Number Generator (4)Jenis (Wikipedia) :- berdasarkan sumber :a. Tabel random numberb. Electronic random numberc. Congruential pseudo random number generator --> LCG, Multipicative, Mixed Congential- berdasarkan generator methoda. physical method / hardware randowm generator1. lambat, resources besar, era komputer2. tidak terdapat pola tertentu --> tracing bilangan terdahulub. computational methodRandom Number Generation9RANDOM NUMBER GENERATOR METHODTRNGs MethodPRNGs MethodRandom Number Generation10True Random Number Generators (TRNGs)TRNGs extract randomness from physical phenomena and introduce it into a computerContoh: Penguapan radioactiveAtmospheric noisedll

11Random Number GenerationPseudo-Random Number Generators (PRNGs) (1)PRNGs Pseudo (semu) Acak tapi tidak acak proses komputasi/aritmatikaSetiap Random Number Ri harus merupakan sebuah sampel independen yang dihasilkan dari suatu distribusi uniform kontinyu antara 0 dan 1Error penyimpangan terhadap sifat uniformity dan independence

12Random Number Generation

Pseudo-Random Number Generators (PRNGs) (2)Pertimbangan dalam metode RNGs:Metode yang dibangun harus cepat, tapi simpel, hemat storage (efficiency)Metode harus portable pada komputer yang berbeda terlebih pada bahasa pemgrograman yang berbedaMetode harus mempunyai siklus yang memadai (Long Cycle Length )Random numbers yang dihasilkan haruslah dapat berulang (Replicability)Pertimbangan yang terpenting adalah random numbers yang dihasilkan harus mendekati sifat-sifat uniformity dan independence

13Random Number GenerationReplicable programming13PRNGs MethodBeberapa Pseudo-random number generators :Midsquare MethodBlum Blum Shub Inversive Congruential Generator ISAAC (Cipher) Fibonacci Generator Linear Congruential Generator (The Most Common Type)Linear Feedback Shift Register Mersenne Twister Multiply-with-carry Maximal Periodic Reciprocals Well Equidistributed Long-period Linear Tausworthe Generator14Random Number GenerationMidsquare Method (1)Lawas 1940s oleh von Neumann & MetropolisSimple & fast ENIAC

Step:

15Random Number GenerationOutput becomes next seed

Midsquare Method (2)MIDSQUARE METHODiZiUiZi207182-51581124158110.581133767721276770.767758936329393630.936387665769466570.665744315649531560.315609960336Dst..Dst.. Dst..Dst..16Random Number GenerationContoh : Tentukan 5 buah bilangan acak dengan Z0 = 7182 !Midsquare Method (3)Kelemahan :Strong tendency to zero (it will stay forever)Predictable

LIHAT EXCEL

Random Number Generation17Property of Random Number (1)Urutan Random Numbers R1, R2, , harus memenuhi dua sifat statistik berikut.UniformityIndependenceSetiap Random Number Ri harus merupakan sebuah sampel independen yang dihasilkan dari suatu distribusi uniform kontinyu antara 0 dan 1

18Random Number GenerationProperty of Random Number (2)PDF :

Expected Value :

Variance :

19Random Number GenerationLinear Congruent Generator (LCG)Metode ini diusulkan oleh Lehmer (1951)Metode linear congruential adalah metode yang paling banyak dipergunakan20Random Number GenerationLCG (2)Bentuk umum :

Dimana :Zi = Bilangan acak ke-I dari deretnyaZi-1 = Bilangan acak sebelumnyaa = Faktor pengali (multiplier)c = Incrementm= modulusKunci pembangkit adalah Z0 disebut sebagai umpan (seed)

21Random Number GenerationLCG (3)Jika c 0 maka bentuk ini disebut mixed congruential methodJika c = 0 maka bentuk ini disebut dengan multiplicative congruential methodPenentuan nilai a, c, m, dan Z0 berpengaruh sangat drastis terhadap sifat-sifat statistik dan panjang periode dari random numbers yang dihasilkan

22Random Number GenerationLCG (4)Contoh : Gunakan metode linear congruential untuk membuat sebuah urutan random numbers dengan Z0 = 27, a = 17, c = 43, dan m = 100

23Random Number GenerationLCG (5)Testing utama PRNG adalah seberapa dekat random numbers yang dihasilkan medekati sifat-sifat uniformity dan independence.

Pertimbangan : maximum density dan maximum period.

Kepadatan maksimum dan terhindar dari adanya cycling generator harus punya periode yang sebesar mungkin.

24Random Number GenerationLCG (6)Periode max pemilihan nilai a, c, m, dan Z0 dengan tepat (Law, 2007), yaitu :

Untuk m = 2b , dan c 0, periode terbesar yang mungkin adalah P = m = 2b, yang dicapai jika c relatif prima terhadap m, dan a = 1 + 4k, dimana k adalah integer.Untuk m = 2b , dan c 0, periode terbesar yang mungkin adalah P = m/4 = 2b-2 , yang dicapai jika X0 ganjil dan a = 3 + 8k atau a = 5 + 8k, untuk k = 0, 1, .Untuk m = bilangan prima dan c = 0, periode terbesar yang mungkin adalah P = m-1, yang dicapai jika a mempunyai sifat yang mana nilai terkecil dari integer k sehingga ak - 1 dapat dibagi oleh m adalah sama dengan m 1.

25Random Number GenerationLCG (7)Contoh : Jika diberikan m= 22 = 4, c=7, a = 5 dan Z0= 1.

m= power of 2a = 5 1 +4k, dimana k=1c=7 (prima) Rule 1

26Random Number GenerationLCG (8)Z0 = 1; Zi+1 = (5*Zi + 7) mod 4

Z0 = 1Z1 = (5*1 + 7) mod 4 = 0Z2 = (5*0 + 7) mod 4 = 3 4 full period = mZ3 = (5*3 + 7) mod 4 = 2Z4 = (5*2 + 7) mod 4 = 1

27Random Number GenerationLCG (9)Contoh : Jika diberikan m= 26 = 64, c=0, a = 13 dan Z0= 1, 2, 3, dan 4.

m= power of 2a = 13 5 +8k, dimana k=1c=0 Rule 2

28Random Number GenerationLCG (10)iZiZiZiZi0123411326395224118593632142632041734514529582365750437371047833235945710927115331124919136155142511155151613Max Period Zi = ganjil 16Atau P = M/4 = 64/4 = 16

29Random Number GenerationCombined Linear Congruential GeneratorsSeiring dengan meningkatnya kemampuan komputasi, kompleksitas sistem yang dapat disimulasikan juga meningkat.Generator dengan periode yang lebih besar diperlukan30Random Number GenerationCombined LCG (2)Salah satu solusi mengkombinasikan dua atau lebih multiplicative congruential generators dengan cara tertentu

Diharapkan hasil kombinasi tesebut mempunyai sifat-sifat statistik yang bagus, dan mempunyai periode yang lebih panjang.

31Random Number GenerationCombined LCG (3)Jika Wi,1, Wi,2, , Wi,k adalah sembarang variabel random diskrit independentNamun salah satunya, misalnya Wi,1, terdistribusi secara uniform pada rentang nilai integer dari 0 sampai m1 2, maka:

Terdistribusi secara uniform pada rentang nilai dari 0 sampai m1 - 2

32Random Number GenerationCombined LCG (4)Misal Xi,1, Xi,2, , Xi,k adalah input ke-i dari k buah multiplicative congruential generator berbeda,

Dimana generator ke-j mempunyai modulus prima mj dan multiplier aj dipilih sedemikian rupa sehingga periodenya menjadi mj 1.

Maka generator ke-j akan menghasilkan bilangan-bilangan integer Xi,j, yang mendekati terdistribusi secara uniform pada rentang nilai dari 1 sampai mj 1, dan Wi,j = Xi,j - 1 akan mendekati terdistribusi secara uniform pada rentang nilai 0 sampai mj 2.

33Random Number GenerationCombined LCG (5)Maka dari itu L Ecuyer (1988) kemudian mengusulkan generator kombinasi dengan bentuk sebagai berikut.

34Random Number GenerationCombined LCG (6)Periode max yang mungkin adalah :

Periode Combined Linear Congruential Generators dapat mencapai :2191 3 x 1057

35Random Number GenerationOTHER KIND OF GENERATORSTausworthe Generator :Kriptografi menggunakan operasi bitMenggunakan operasi XORRumus :

Random Number Generation36

OTHER KIND OF GENERATORS (2)Tausworthe contoh :Misal diberikan r = 3 dan q=5Dimana b1=b2= =b5=1Tentukan 42 bit bilangan pertama !

Random Number Generation37OTHER KIND OF GENERATORS (3)Tausworthe jawaban :bi=(bi-3 + bi-5) mod 2

111110001101110101000010010110011111000110b6=(b6-3 + b6-5) mod 2 =(b3 + b1) mod 2 = 0b9=(b9-3 + b9-5) mod 2 =(b6 + b4) mod 2 = 1b17=(b17-3 + b17-5) mod 2 =(b14 + b12) mod 2 = 0

Random Number Generation38OTHER KIND OF GENERATORS (4)Blum Blum ShubDitemukan oleh Lenore Blum,Manuel BlumandMichael Shub

Fibonacci

Random Number Generation39

TESTING RNGsMengapa Generator perlu ditesting?Frequency Test- Kolmogorov-Smirnov Test- Chi-Square TestAutocorrelation TestRandom Number Generation40Mengapa di test? (1)Untuk menciptakan RNG yang menghasilkan random number yang baikLEcuyer(1997), yang baik adalah :Periode perulangan yang panjangMudah diaplikasikan ke bahasa pemrograman tingkat tinggiLulus uji keseragaman (uniformity test) dan kebebasan (independence test)

Random Number Generation41Mengapa di test? (2)Dapat dikatakan bahwa pembangkit yang jelek adalah pembangkit yang tidak lolos dari uji empiris sederhana dan pembangkit yang baik adalah pembangkit yang hanya tidak lolos dari uji empiris yang kompleks (LEcuyer, 1998).Random Number Generation42Mengapa di test? (3)Pengujian sederhana dan umum dilakukan :Uji keseragaman (uniformity test)Frequency test (Kolmogorov-Smirnov & Chi-Square)2. Uji kebebasan (independence test)Runs testAutocorrelation test

Random Number Generation43Hipotesis PengujianTesting for uniformity H0:Ri ~ Uniform[0,1]H1 : Ri ~ Uniform[0,1]Testing for independenceH0: Ri ~ independenceH1 : Ri ~ independenceLevel significance () = P(Reject H0|H0 true)Random Number Generation44//Frequency TestMemvalidasi keseragaman random numberMetode :1. Kolmogorov Smirnov test2. Chi-square testBerdasarkan H0 tidak ada perbedaan antara sample distribution dengan theoritical distributionRandom Number Generation45Kolmogorov Smirnov test (1)Membandingkan antara c.d.f. distribusi uniform kontinu, , dengan c.d.f distribusi empiris dari N pengamatan,Uji ini didasarkan pada harga terbesar dari nilai mutlak selisih dari distribusi empiris dan teoritis dalam interval batas distribusi tersebut, yaitu :

Random Number Generation46

Kolmogorov Smirnov test (2)Step :Step 1. urutkan data kecil ke besar

Step 2. Hitung

Step 3. Hitung D = max (D+,D-)Step 4. Lihat tabel kolmogorov-smirnov critical value, lihat nilai D berdasarkan siginificance level dan ukuran sampel NStep 5. Membandingkan nilai D dan D menarik kesimpulan hipotesis diterima/tidakRandom Number Generation47

47Kolmogorov Smirnov test (3)Penarikan kesimpulan :D > D H0 ditolakD