RNG MUHAMMAD YUSUF Teknik Informatika – Universitas Trunojoyo Http://yusufxyz.wordpress.com Email : yusufxyz@gmail.com
Pembahasan Random Number Generation (RNG) Simulasi pada Permainan Additive/Arithmatic RNG Multiplier RNG Mixed Pseudo RNG Simulasi pada Permainan Pelemparan Mata Uang Pelemparan Dadu
Random Number Generation RNG adalah suatu algoritma yang digunakan untuk menghasilkan urutan dari angka-angka sebagai hasil dari perhitungan dengan komputer yang diketahui distribusinya sehingga angka-angkanya muncul secara random dan terus menerus Algoritma RNG dibuat oleh usulan Lehmer (1951)
So… Unsur unsurnya ?? RNG Sequence (urutan) Distribusi Random
Sumber Random 1. Tabel Random Number Menggunakan tabel distribusi untuk mengetahui penyebaran bilangan acak 2. Elektronik Random Number Menggunakan suatu alat yang dapat menghasilkan bilangan acak. Alat ini banyak digunakan dalam percobaan penelitian. 3. Random Number Generation (RNG)
Bagian dari RNG RNG ada 3 macam : 1. Additive (arithmathic) RNG 2. Multiplier RNG 3. Mixed Pseudo RNG Random Number pada computer sering menggunakan RNG Biasanya kita sering menggunakan fungsi yang telah disediakan program ex : random( )
Sifat RNG Independen variabelnya bebas tidak terikat dengan memiliki ketentuan ketentuan tersendiri Uniform probabilitas diusahakan sama untuk setiap penarikan random number tersebut Dense densitas probabilitas distribusinya harus terletak antara 0 dan 1 Efficient cukup sederhana dan dalam pemakaiannya harus menentukan angka-angka untuk variabel yang cocok
Additive / Arithmatic RNG Formula :
Modulo ? Merupakan satu angka integer yang cukup besar dan yang dipakai pada komputer Setiap komputer bisa memiliki modulo yang berbeda Ex: komputer IBM 360/370 dapat mensupport jangkauan 32 bit integer mikrokomputer 8 bit
Multiplicative / Multiplier RNG Formula : Pemilihan konstanta multiplied a - harus bilangan prima thd m - harus bilangan ganjil Pemilihan yang baik menggunakan rumus : b = banyaknya bit yang disupport komputer
Contoh pemilihan a Untuk komputer support 8 bit
Contoh Sederhana RNG 1. Multiplier RNG Jika diberikan m=13, a=7, Xo=1. Maka bilangan random yang terbentuk adalah … Penyelesaian : Urutan pertama Xo Urutan 2 : X1 = a.Xo = a.Xomod m = 7.1mod 13 = 7 Urutan 3 : X2 = a.X1-n.m = a.X1mod m = 7.7mod 13 = 10 Urutan 4 : X3 = a.X2-n.m = a.X2mod m = 7.10mod 13 = 5 n = kelipatan modulo yang menghasilkan nilai terdekat dengan a.X1 Jwb : 1 , 7 , 10, 5 , 9 , 11 , 12 , 6,………..
Contoh Additive RNG Jika digunakan mikrokomputer 8 bit dengan : Xo=12357 a = 19 ; m = 128 ; c = 237 Maka bilangan random yang terbentuk dan densitas yang terbentuk adalah … X1 =(19.12357+237) mod 128 = 12 Densitas (R1) = X1/m = 12/128 = 0.09375
Soal Latihan : Cari 10 nilai random yang muncul jika diketahui a = 6 , Xo = 1 , m = 13 ; Dengan menggunakan : - multiplier dan - additive RNG (dengan c=7)
Simulasi pada permainan Simulasi pada permainan dapat juga dilakukan dengan simulasi dengan menggunakan variabel bilangan acak yang dihasilkan oleh proses RNG Contoh : - permainan pelemparan mata uang (coin tossing game) - pelemparan dadu dengan 6 mata dadu - lucky draw
TUGAS 1 A & B bertanding lempar mata uang. Apabila mata uang yang muncul lebih banyak H (head) maka dimenangkan oleh A, sedangkan bila yang banyak muncul T (tail) maka dimenangkan oleh B. Jika disepakati ada 10 kali pelemparan dan dimisalkan variabel random yang digunakan adalah Xo = 1 ; a = 7 ; m = 13 Jika dilakukan 10 kali pelemparan, maka siapakan kira-kira yang menang ?
Pembahasan Mata uang yang digunakan sembarang karena memiliki 2 muka dan digunakan oleh 2 orang Kesempatan menang A : B = 50% : 50% Sehingga peluang yang terjadi P(H)=0.5, P(T)=0.5 Buat aturan/rule permainan yang lebih konkret (untuk kasus ini dibuat dengan metode Fk) Bila : 0 ≤ R < 0.5, maka hasilnya adalah H 0.5 ≤ R ≤ 1, maka hasilnya adalah T
TUGAS 2 Pada Game Lempar dadu. Yang mana angka yang banyak keluar bila digunakan RNG additive dengan ketentuan : Xo = 12357 a = 7 ; m = 128 ; c = 273 Bila dilakukan 10 kali pelemparan Dikumpukan max Rabu, 30 September 2009 pukul 24.00 Ke email : yusufxyz@gmail.com