pembangkit random number gtr
DESCRIPTION
Materi RNG diberikan kepada mahasiswa S1 TIP Faperta UnlamTRANSCRIPT
Pembangkit
Random
Number
• GUSTI RUSMAYADI
• 082149746633
Pembangkitan Bilangan Acak
Random Number Generator
• Algoritma untuk menghasilkan uruta-urutan angka-angka random secara hitungan manual maupun komputasi elektronik (komputer)
Definisi
• Bilangan acak disesuaikan dengan besar probabilitas antara 0 s/d 1.0 dan berdistribusi seragam
distribusi
• Bersifat random
• Tidak ber-ulang (Degenerative)
• Perioda berulang muncul sangat panjang
Syarat Pembangkitan Bilangan acak
Metoda Pembangkitan Bilangan
Acak
Manual Sederhana
• dengan lempar koin, ambil bola pingpong dalam keranjang secara acak, lempar dadu, putaran roullete.
Tabel bilangan acak
• Berupa daftar angka acak yang sudah diakui kebenaran acak-nya
Menggunakan Komputer
• Menggunakan algoritma komputer yang diprogram
Metoda Pembangkitan Bilangan Acak
Jenis bilangan acak
Murni
acak langsung dipergunakan
contoh peristiwa simulasi Monte Carlo penjualan sepatu
Tidak Murni (Pseudo random);
dihasilkan acak dengan rumusan matematik, atau bilangan acak diperoleh berdasar hitungan distribusi statistik tertentu,
Misal Poisson, Eksponensial, dsb.
Jenis Bilangan Acak
1. Midsquare Method
1. Prosedur;
1. Tentukan Seed; angka random awal dari 4 digit
angka random
2. Kuadratkan
3. Ambil empat digit yang ditengah
4. Kembali ke langkah 2
5. Ulang sebanyak bilangan acak yang di-inginkan
6. Contoh: Seed= 7815, (7815)2 , 61074225 ,
(0742)2
Bentuk Tabulasi Midsquare method
Zi
U
Bilangan acak
terpilih
Zi2
7815 - 61074225
0742 0. 5056 550564
5056 0.5631 25563136
5631 0.7081 31708161
7081
Random Number Generator Congruential Pseudo Random Number Generator
• Zi = (a Zi-1 + c ) mod m
• Zi = angka random yang baru, • Zi-1, = angka random yang lama
• a = multiplier,
• c = increment/angka konstan bersyarat,
• m = angka modul;
Rumus
• harga a > √m atau ; m/100 < a < m - √m
• Harga c harus ganjil, tidak merupakan kelipatan dari angka m
• Modul m harus bilangan yang tdak dapat dibagi (Bilangan prima)
• Harga Seed harus angka integer ganjil dan besar.
• Ui = Zi /m
Syarat konstanta
Linear Conguential Generator (LCG)
Random Number Generator
• Multiplicative Congruential Generator (MCG)
– Rumus: Zi = (a Zi-1) mod m
– Syarat : a > 1; C = 0; m > 1
– Pemilihan nilai:
• m (modulo) satu angka integer cukup besar dan satu kata
(words) yang dipakai pada komputer
• Contoh:
• Komputer IBM 360/370 sistem sebuah kata adalah 32 bits
panjangnya angka integer yang terbesar dalam satu kata
komputer adalah:
• 232-1 -1 = 231 – 1
• = 2147488647
• Maka nilai m harus lebih besar satu integer, atau:
• m = 232 + 1
• = 21474886488
Congruential Pseudo Random Number Generator
Random Number Generator
• Multiplicative Congruential Generator (MCG)
– Rumus: Zi = (a Zi-1) mod m
– Syarat : a > 1; C = 0; m > 1
– Pemilihan nilai:
• Konstanta multiplier a harus bilangan prima terhadap m dan
bilangan ganjil (Odd number) a = 2 b/2 ± 3
• Contoh:
• Komputer IBM 1130/1800 dengan 16 bits akan diperoleh:
• a = 2 16/2 ± 3
• = 2 8/2 +3
• = 16 + 3 = 19
Congruential Pseudo Random Number Generator
Random Number Generator
• Mixed Congruential Generator (Linier
Congruential Random Number Generator);
– Rumus;
Zn = an Zo + (an – 1)/(a – 1). C (mod m)
Congruential Pseudo Random Number Generator
Linier Congruential Random
Number Generator
• Persyaratan Persyaratan;
N integer > 0, C = Bilangan prima
– Apabila C bilangan prima terhadap n berarti pembagi
umum yang terbesar dari c dan m adalah 1.
– a= 1 (mod q) untuk setiap faktor prima q dari m berarti
a – q (a/q) = 1, bila k = (a/q) maka a = 1 + q k, q
adalah faktor prima dari m
– a = 1 (mod 4) bila 4 adalah faktor dari m berarti a = 1
+ 4k, bila m/4 = integer (bila m dibagi 4, hasilnya
bulat)
Cara Pemilihan mod m
• Definisi; m angka integer terbesar hasil dari perkalian awal yang sebagai pembagi dengan angka integer lain. – Contoh:
• Zo = 12357, a = 19, c = 237, m=128
• Berdasar metoda Multiplicative Congruential Generator); Zi = (a Zi-1) + c mod m
• Operasi module = Random Number – Z1 =(19 x 12357 +237) mod 128
– = 12 R1 = 12/128 = 0,09375
– Z1 =(19 x 12 + 237) mod 128
– = 81 R2 = 81/128 = 0,6328
– Z1 =(19 x 81 + 237) mod 128
– = 112 R3 = 112/128 = 0,875, dst
• Bilangan random; – R1 = 0,09375
– R2 = 0,6328 U3
– R3 = 0,875
Validasi Bilangan Acak • Pengujian dimaksudkan untuk melihat
distribusinya, urutan ke-acakan-nya.
Uji empiris; dilakukan dengan uji statistik
Chi-Square test; Uji
keseragaman
Run test; Uji keacakan
Uji teoritis; dilakukan uji parameter pembangkit untuk pembangkitan secara menyeluruh
Spectral test
Lattice test
Metoda pengujian
Chi Square test
100 bilangan acak dibangkitkan dan dikelompokkan
dalam 10 kelompok kelas probabilitas.
Kelas
Frekuensi
Bilangan acak
Fo
Frekuensi
harapan Fe
(Fo-Fe)2/Fe
Chi-sqre.
0.0 – 0.09
0.1 – 0.19
0.2 – 0.29
0.3 – 0.39
0.4 – 0.49
0.5 – 0.59
0.6 – 0.69
0.7 – 0.79
0.8 – 0.89
0.9 – 1.00
10
11
10
11
10
8
9
7
12
11
10
10
10
10
10
10
10
10
10
10
0.0
0.4
0.0
0.1
0.0
0.4
0.1
0.9
0.4
0.1
0.1
100 100 2.4
Chi Square test
• Pengujian:
– Ho = data/acak terdistribusi seragam
– H1 = Tidak terdistribusi seragam
– Selang kepercayaan α = 0.05 (5%)
• Nilai Chi-square tabel = 16.919
– Chi-square hitung = 2.4 artinya < nilai tabel
– Kesimpulan terima Ho
Run Test • Urutan ke-acak-an diuji
• Cara uji; – Bilangan acak dalam urutannya bila harganya naik beri satu tanda +,
sebaliknya tanda -, seterusnya sampai seluruh bilangan acak.
– Contoh; 40 rng;
Total run x = 22 (22 tanda + dan -) Nilai harapan total run;
μ = (2n – 1)/3 = ((2x40)-1)/3 = 26.33 Standar deviasi σ = 2.61
Pengujian dengan distribusi normal; Ho : μ = 26.33, H1 = bukan μ Z = (a – μ)/ σ = (22 – 26.33)/ 2.61 = - 1.65 Batas selang-kepercayaan -1.96 s/d 1.96., berartyi harga Z ada didalamnya Terima Ho
RNG Tnd RNG Tnd RNG Tnd RNG Tnd
1 0.43 - 0.61 + 0.03 - 0.32 -
2 0.32 - 0.25 - 0.93 + 0.75 +
3 0.48 - 0.45 - 0.08 - 0.42 -
4 0.23 - 0.56 + 0.58 + 0.71 +
5 0.9 - 0.87 + 0.41 - 0.66 +
6 0.72 + 0.54 + 0.32 - 0.03 -
7 0.94 + 0.01 - 0.03 - 0.44 -
8 0.11 - 0.64 + 0.18 - 0.99 +
9 0.14 - 0.65 + 0.9 + 0.4 -
10 0.67 + 0.32 - 0.74 + 0.55 +
Rerata 0.483
Rangkuman
Pembangkitan
Bilangan Acak
Definisi
Distribusi
Syarat
Metoda
Pembangkitan
Bilangan Acak
Manual Sederhana
Tabel bilangan acak
Menggunakan
Komputer
Jenis Bilangan
Acak
Murni
Midsquare Method
Pseudo random
Linear Conguential Generator (LCG)
Multiplicative Congruential Generator (MCG)
Mixed Congruential Generator
Va
lida
si B
ilang
an A
ca
k
Chi Square test
Run Test