Kamis, 06 Januari 2011

Random Number

Konsep Membangkitkan Random Number
Dalam kita menggunakan model simulasi yang bersifat stokhastik maka akan melibatkan variabel-variabel random. Variabel random ini digunakan untuk merepresentasikan tingkah laku faktor-faktor yang tak terkendali di dalam sistem yaitu faktor-faktor yang berfluktuasi dalam bentuk yang sulit diramalkan, tetapi dapat dijelaskan secara stokhastik. Alat atau cara yang dapat menghasilkan bilangan random disebut pembangkit bilangan random. Suatu pembangkit bilangan random harus mempunyai sifat-sifat sebagai berikut :
Angka yang dihasilkan harus sedekat mungkin dengan distribusi Uniform.
Pembangkit bilangan random tersebut harus cepat.
Pembangkit tersebut harus efisien dalam tempat penyimpanan dan waktu eksekusinya.
Pembangkit tersebut harus dapat menghasilkan kelompok-kelompok bilangan random yang berbeda atau dapat menghasilkan kembali suatu urutan angka kapan saja diperlukan.
Metode yang digunakan harus dijamin tidak akan menghasilkan kembali angka-angka yang sama pada waktu yang relatif dekat .
Pseudo random disebut juga acak semu merupakan bilangan acak yang dibangkitkan oleh computer, karena pembangkitannya menggunakan operasi-operasi aritmatika.
Linear Congruent Method (LCM) merupakan metode pembangkitkan bilangan acak yang banyak digunakan dalam program komputer.LCM memanfaatkan model linier untuk membangkitkan bilangan acak yang didefinisikand engan: xn+1= ( a xn+ c ) mod m
Dimana:
xn= adalah bil. Acak ke –n
a dan c adalah konstanta LCM
m adalah batas maksimum bilangan acak
Contoh:
Membangkitkan bilangan acak sebanyak 8 kali dengan a=2, b=7, m = 10 dan x(0)=2

x(1) = ( 2 (2) + 7 ) mod 10 = 1
x(2) = ( 2 (1) + 7 ) mod 10 = 9
x(3) = ( 2 (9) + 7 ) mod 10 = 5
x(4) = ( 2 (5) + 7 ) mod 10 = 7
x(5) = ( 2 (7) + 7 ) mod 10 = 1
x(6) = ( 2 (1) + 7 ) mod 10 = 9
x(7) = ( 2 (9) + 7 ) mod 10 = 5
x(8) = ( 2 (5) + 7 ) mod 10 = 7

Bilangan acak yang dibangkitkan adalah:
1 9 5 7 1 9 5 7
Terjadi pengulangan bilangan secara periodik(4)
misalnya:Bilangan Biner
Contoh: bilangan biner terbesar 1 digit adalah 1
bilangan biner terbesar 2 digit adalah 11 atau 3
bilangan biner terbesar 3 digit adalah 111 atau 7
bilagan biner terbesar 32 digit adalah 11…1 atau 2k-1
Jika bilangan biner lebih dari 32 digit maka komputer dikatakan overflow.
Rumus untuk pseudo-random dapat diberikan seperti:

Invers Transform

F (x) = u, u~u(0,1)

Pembangkitan dengan metode pergeseran Box Muller
Dengan pembangkitan suatu pasangan bilangan acak uniform 0 < x1<1 dan 0 < x2 < 2p, kita dapat membangkitkan pasangan Gaussian:*(double) rand()/RAND_MAX
x1 = (double) rand()/RAND_MAX
x2 = 2*pi*(double) rand()/RAND_MAX
x = √-log(x1) cos x2
y = √-log(x1) cos x2

Membangkitkan Bilangan Acak dengan Metode Rejection
- Bangkitkan 2 bilangan acak x dan y
- bila y 1
f (x) = √2 π σ exp [ - (x - µ)2 / 2σ2 ]
Dalam hal ini anda tetapkan nilai m=0 dan σ2 =1

Tidak ada komentar:

Posting Komentar