Apa itu "Bilangan Acak" ?
- Bilangan acak adalah bilangan yang tidak dapat diprediksi kemunculannya
- Tidak ada komputasi yang benar-benar menghasilkan deret bilangan acak secara sempurna
- Bilangan acak yang dibangkitkan oleh komputer adalah bilangan acak semu (Pseudo Random Number), karena menggunakan rumus-rumus matematika
- Banyak algoritma atau metode yang dapat digunakan untuk membangkitkan bilangan acak
- Bilangan acak dapat dibangkitkan dengan pola tertentu yang dinamakan dengan distribusi mengikuti fungsi distribusi yang ditentukan
Varietas Acak (Random Variates) adalah suatu fungsi yang harganya merupakan bilangan riil dan ditentukan oleh setiap elemen dari suatu ruang sampel. Apabila ruang sampel berisi sejumlah elemen yang terbatas, maka ruang sampel tersebut disebut sebagai ruang sampel diskrit, dan variabel randomnya disebut variabel random diskrit. Sebaliknya apabila jumlah elemen pada ruang sampel itu tidak terbatas, maka ruang sampel tersebut disebut ruang sampel kontinu, dan variabelnya disebut variabel random kontinu. Dalam hal ini, variabel random diskrit akan mempresentasikan data yang dapat dihitung, sedangkan variabel random kontinu mempresentasikan data yang dapat diukur.
Cara Memperoleh Bilangan Acak :
- Zaman Dahulu, dengan cara :-Melempar dadu-Mengocok kartu
- Zaman Modern (>1940), dengan cara :
Membentuk bilangan acak secara numerik/aritmatik(menggunakan komputer) , disebut “Pseudo Random Number” (bilangan pseudo acak).
Syarat Pembangkit Bilangan Acak :
- Berdistribusi uniform(0,1) dan tidak berkorelasi antar bilangan.
- Membangkitkan cepat, storage tidak besar
- Dapat di “reproduce”
- Periode besar, karena mungkin bilangan acak dibangkitkan berulang
Kategori Bilangan Acak :
- Distribusi Probabilitas Diskrit
- Distribusi Probabilitas Kontinu.
Kebanyakan dari distribusi probabilitas kontinu mempunyai 3 parameter yaitu :
a. parameter lokasi dengan notasi a (location parameter)
b. parameter skala dengan notasi b (scale parameter)
c. parameter bentuk dengan notasi c (shape parameter)
tetapi ada diantaranya menggunakan notasi yang berbeda seperti pada distribusi normal untuk parameter lokasinya menggunakan notasi m dan parameter lokasinya menggunakan notasi s. Dan ada juga yang menggunakan Xmin dan Xmax yang fungsinya sama dengan parameter skala misalkan pada distribusi Uniform.
Sifat sifat
pembangkit random varietas
- Independent
: tiap variabelnya harus bebas dari aturan aturan, seperti
- Zi=1 = merupakan hasil akhir
- Z0 = merupakan angka pertama yang bebas
- a = merupakan angka konstan yang dpat bebas dengan ketentuan tersendiri
- c = merupakan angka bebas tetapi tidak ada hubungan tertentu
- Uniform
: suatu distribusi yangumum (distribusi probabilitas)dan sama untuk semua
besaran yang dikeluarkan/diambil. Hal ini berarti bahwa diusahakan probabilitasnya
sama untuk setiap penarikan random number tersebut
- Dense
: Density Probabilitas Distribution harus mengikuti syarat probabilitas (antara
0 dan 1). Hal ini berarti dalam penarikan angka-angka yang dibutuhkan dari
Random Number Generator cukup banyak dan dibuat sedemikian rupa sehingga 0 ≤ R.N.
≤ 1
- Efficient
: artinya dapat cukup sederhana dan dalam menggunakan cara ini harus terlebih
dahulu memilih angka-angka untuk variable-variabelnya yang cocok. Hal ini
berarti dalam penarikan varietas
random tersebut harus dapat menentukan
angka-angka untuk variabelnya yang sesuai sehingga dapat berjalan terus menerus
Penentuan random varietas
- Tabel random varietas , table ini sudah banyak di temukan mulai dari enam digit sampai dengan belasan digit
- Electronic random number, cara seperti ini banayk di pergunakan dalam percobaan penelitian
- Conguential Pseudo Random Number Generator, yang terdiri dari tiga bagian :- Linear Congruential Generator (LCG)- Multiplicative Random Number Generator- Mixed Congruential Random Number Generator
- Metode ini digunakan untuk membangkitkan bilangan acak dengan distribusi uniform
- Pseudo RNG, berbentuk :Zi = (aZi – 1 + c) mod m
- Dimana :Zi = bilangan acak ke-i dari deretnyaZi – 1 = bilangan acak sebelumnyaa = faktor pengalic = incrementm = modulusKunci pembangkit adalah Z0 yang disebut umpan (seed).
Contoh : Membangkitkan bilangan acak sebanyak 8 kali dengan a = 2, c = 7, m = 10, dan Z0= 2Z1 = (2.2+7) mod 10 = 1Z2 = (2.1+7) mod 10 = 9Z3 = (2.9+7) mod 10 = 5Z4 = (2.5+7) mod 10 = 7Z5 = (2.7+7) mod 10 = 1Z6 = (2.1+7) mod 10 = 9Z7 = (2.9+7) mod 10 = 5Z8 = (2.5+7) mod 10 = 7Bilangan acak yang dibangkitkan adalah :1 9 5 7 1 9 5 7-> Terjadi pengulangan bilangan secara periodik (4) - Terjadi pengulangan pada periode tertentu atau setelah sekian kali pembangkitan, hal ini adalah salah satu sifat pembangkitan dari metode ini dan PRNG pada umumnya
- LCG mempunyai periode tidak lebih besar dari m, dan pada kebanyakan kasus periodenya kurang dari itu
- LCG mempunyai periode penuh (m – 1) jika memenuhi syarat berikut:
1. c relatif prima terhadap m.
2. a – 1 dapat dibagi dengan semua faktor prima dari m
3. a – 1 adalah kelipatan 4 jika m adalah kelipatan 4
4. m > maks(a, c, Z0)
5. a > 0, c > 0
Penentuan konstanta LCG (a, c, dan m) sangat menentukan baik tidaknya bilangan acak yang diperoleh dalam arti memperoleh bilangan acak yang seakan-akan tidak terjadi pengulangan.
Membuat Fungsi Pembangkit Bilangan Acak dengan LCG
Function x=LCM(xs)
% Membangkitkan bilangan acak dengan LCM
% Membangkitkan bilangan acak dengan LCM
a = 23; c = 15; m = 257
x = mod(a*xs+c,m)
Fungsi ini menghasilkan satu bilangan x, dengan memasukkan x sebelumnya (xs), sedangkan a,c dan m merupakan konstanta yang harus didefinisikan
Memanggil Bilangan Acak dengan Fungsi LCG
Multiplicative Random Number Generator
Zi = (a.Zi-1) mod m
Dimana :
- Bilangan pseudo dimulai dgn nilai awal Z0 yang disebut benih.
- a & m : bilangan bulat positif tertentu
- A.Zi-1 dibagi dgn m dan sisanya diambil sebagai nilai Zn
- Agar Zn berprilaku acak yang dapat dipertanggungjawabkan :
- Modulo m dipilih sebesar mungkin untuk memperbesar periode
- a dipilih agar korelasi antar Zn minimum
- Benih Zo: bilangan Bulat positif ganjil, Zo<m
- Bilangan acak : Ui = Zn/m
Untuk pemilihan nilai-nilai yang terbaik dijabarkan sebagai berikut :
a. Pemilihan nilai : m modulo) merupakan e ( odu o) e up suatu angka integer yang cukup
besar dan merupakan satu kata dari yang dipakai pada computer. Contoh :
- Dalam computer IBM 360/370 sistem sebuah kata adalah 32 bits
panjangnya, berarti angka integer yang terbesar dalam satu kata computer
(computer words) adalah : 232-1 -1 = 231 – 1 = 2147488647
- Maka nilai m hasrus lebih satu integer, atau : m = 232-1 +1 = 2147.483.648
- Untuk mesin computer system 1130/1800 IBM yang dikenal dengan 16
BITS Words maka untuk memilih m adalah : m = 216-1 = 32.768
- Sedangkan untuk memilih microcomputer dengan 8 BITS akan digunakan :
- m = 28-1 = 128
- Dengan nilai m ini akan merupakan pembagi dari nilai (a x Z1) yang
mengikuti operasi modulo
- Hal ini akan menjadikan mesin computer hanya dapat tertinggi dengan
integer m-1 dan apabila produk-produknya lebih besar dari nilai-nilai ini
akan mengakibatkan overflow/hang.
b. Pemilihan konstanta multiplier : a harus tepat.
- Pemilihan nilai a harus bilangan prima terhadap m. a juga harus bilangan
ganjil (odd number). Pemilihan yang terbaik adalah dengan rumus yang
lebih mendekat pada ketepatan.
- Untuk system IBM 1130/1800 dengan : 16 Bits akan diperoleh
- Dan untuk mikrokomputer dengan 8 Bits, maka akan diperoleh
c. Pemilihan untuk Z0, yang dikenal dengan : SEED = Z0 mengharuskan
relative belakangan prima terhadap m. Hal ini dapat diperhatikan dengan
mudah apabila dicari untuk m adalah angka berpangkat 2 (dua) → angka
exporer dari angka 2. Dengan demikian untuk Z0 adalah setiap angkaangka
yang ganjil (odd number) seperti : ISEED = Z0 = 12357
Dapat diambil sembarang asalkan bilangan ganjil dan biasanya cukup
besar.
d. Bilangan c yang dipilih harus bukan merupakan kelipatan dari m dan juga
harus bilangan ganjil.
Mixed Congruential Random Number Generator
- Pseudo Random Number ini dapat dirumuskan dengan :
- Rumus Pseudo Random Number generator ini adalah dengan syarat utama n harus sejumlah bilangan integer (bulat) dan lebih besar dari nol, rumus ini dikenal juga dengan nama ‘Linier Congruential RNG’
- Namun apabila nilai C = 0 maka akan diperoleh rumus yang dikenal ‘Multiplicative Congruen RNG’. Rumus multiplivative ini cukup baik untuk masa-masa yang akan dating karena sedikit sekali storage memori yang dibutuhkan.
- Beberapa kondisi syarat-syaratnya sebagai berikut :
- C = adalah bilangan relative prima terhadap n
- a = 1 (mod.q) untuk setiap factor prima q dari m
- a = 1 (mod 4) apabila 4 adalah suatu factor dari m - Kondisi 1 berarti bahwa pembagi umum yang terbesar dari c dan m adalah satu. Dan kondisi ini mudah dicapai.
- Kondisi 2 berarti :
Apabila k = (a/q) akan dapat diperoleh untuk a, yaitu a=1 + qk
Dimana q adalah faktor prima dari m
- Kondisi 3 berarti : a = 1+ 4k
Apabila : = adalah integer . artinnya m bilangan bulat dapat dibagi 4
Contoh Penerapan
Bagaimana Penerapannya?
Distribusi Bilangan Acak & Grafiknya
Bagaimana Cara Membangkitkan Bilangan Acak ?
Source :
Tidak ada komentar:
Posting Komentar