Anda di halaman 1dari 56

RANDOM NUMBER GENERATION

Oleh :
Gede Aditra Pradnyana 5111201019
I Putu Gede Hendra Suputra 5111201020
TOPIK DALAM SIMULASI DISKRIT
1 Random Number Generation
MENU
1. Perkenalan
2. Random Number Generator Method
- LCG (Linear Congruential Generator)
- Fibbonaci Generator
- Tausworth Generator
- dll
3. Testing Random Number Generator
- Frequency Test
- Autocorrelation Test
- Gaps Test
- dll
2 Random Number Generation
PERKENALAN
Random Number
Random Number Generator
Pentingnya Random Number dan Generatornya
Perkembangan
Random Number Generation 3
Random Number? (1)
Apa itu random number (bilangan acak )?
Bilangan yang kemunculannya terjadi secara
acak, tidak dapat diprediksi
Kbbi Acak = tanpa pola, sembarang
Pengunaan kriptografi, pemodelan dan
simulasi, judi, statistical (sampling), dll..

4 Random Number Generation
Random Number? (2)
Jadi, random number generator (generation)?
Penting? Banyak kejadian nyata yang
memerlukan sesuatu yang tidak dapat
diprediksi
5 Random Number Generation
Random 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..
6 Random Number Generation
Random Number Generator (2)
Lanjut cerita
Kelemahan mesin generator adaptasi
dengan komputer, reproduce previously
random number
baca dari tabel (Rand Corporation Table)
Memory requirement dan time
Sekitar tahun 1940s numerical/aritmatical
ways
7 Random Number Generation
Random Number Generator(3)
2 buah konsep utama dalam bilangan acak :
a. true random number generator pembangkitan
dengan mesin, manual, fenomena alam
b. Pseudo random number dengan algoritma
komputasional tertentu yang umumnya memasukkan
suatu nilai awal (initial value)/seed/key/umpan
arithmatic/numeric random number generator
8 Random Number Generation
Random Number Generator (4)
Jenis (Wikipedia) :
- berdasarkan sumber :
a. Tabel random number
b. Electronic random number
c. Congruential pseudo random number generator --> LCG,
Multipicative, Mixed Congential
- berdasarkan generator method
a. physical method / hardware randowm generator
1. lambat, resources besar, era komputer
2. tidak terdapat pola tertentu --> tracing bilangan terdahulu
b. computational method
Random Number Generation 9
RANDOM NUMBER GENERATOR
METHOD
TRNGs Method
PRNGs Method
Random Number Generation 10
True Random Number Generators
(TRNGs)
TRNGs extract randomness from physical
phenomena and introduce it into a computer
Contoh:
Penguapan radioactive
Atmospheric noise
dll
11 Random Number Generation
Pseudo-Random Number Generators
(PRNGs) (1)
PRNGs Pseudo (semu) Acak tapi tidak acak
proses komputasi/aritmatika
Setiap Random Number Ri harus merupakan sebuah
sampel independen yang dihasilkan dari suatu
distribusi uniform kontinyu antara 0 dan 1
Error penyimpangan terhadap sifat uniformity dan
independence



12 Random 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 berbeda
Metode 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



13 Random Number Generation
PRNGs Method
Beberapa Pseudo-random number generators :
Midsquare Method
Blum 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 Generator
14 Random Number Generation
Midsquare Method (1)
Lawas 1940s oleh von Neumann & Metropolis
Simple & fast ENIAC


Step:


15 Random Number Generation
7182
[ seed ]
51581124
[seed
2
]
5811
[output]
Output becomes next seed
Midsquare Method (2)
MIDSQUARE METHOD
i Zi Ui Zi2
0 7182 - 51581124
1 5811 0.5811 33767721
2 7677 0.7677 58936329
3 9363 0.9363 87665769
4 6657 0.6657 44315649
5 3156 0.3156 09960336
Dst.. Dst.. Dst.. Dst..
16 Random Number Generation
Contoh : Tentukan 5 buah bilangan acak dengan Z
0 =
7182 !
Midsquare Method (3)
Kelemahan :
1. Strong tendency to zero (it will stay forever)
2. Predictable

LIHAT EXCEL

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

18 Random Number Generation
Property of Random Number (2)

PDF :


Expected Value :

Variance :

=
, 0
, 1
) (x f
2
1
2
) (
1
0
2
1
0
= = =
}
x
xdx R E
| |
12
1
4
1
3
1
2
1
3
) ( ) (
2
1
0
3
1
0
2
2
= =
|
.
|

\
|
= =
}
x
R E dx x R V
1 0 s s x
otherwise
19 Random Number Generation
Linear Congruent Generator (LCG)
Metode ini diusulkan oleh Lehmer (1951)
Metode linear congruential adalah metode
yang paling banyak dipergunakan
20 Random Number Generation
LCG (2)
Bentuk umum :



Dimana :
Zi = Bilangan acak ke-I dari deretnya
Zi-1 = Bilangan acak sebelumnya
a = Faktor pengali (multiplier)
c = Increment
m = modulus
Kunci pembangkit adalah Z0 disebut sebagai umpan (seed)



,... 2 , 1 , 0
mod ) (
1
=
+ =
+
i
m c aZ Z
i i
,... 2 , 1 =
=
i
m
X
R
i
i
21 Random Number Generation
LCG (3)
Jika c 0 maka bentuk ini disebut mixed
congruential method
Jika c = 0 maka bentuk ini disebut dengan
multiplicative congruential method
Penentuan nilai a, c, m, dan Z0 berpengaruh
sangat drastis terhadap sifat-sifat statistik dan
panjang periode dari random numbers yang
dihasilkan

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

52 . 0
100
52
52 100 mod 1352 100 mod ) 43 77 17 (
77 . 0
100
77
77 100 mod 77 100 mod ) 43 2 17 (
02 . 0
100
2
2 100 mod 502 100 mod ) 43 27 17 (
27
3
3
2
2
1
1
0
= =
= = + =
= =
= = + =
= =
= = + =
=
R
Z
R
Z
R
Z
Z
23 Random Number Generation
LCG (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.

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

1. Untuk m = 2
b
, dan c 0, periode terbesar yang mungkin
adalah P = m = 2
b,
yang dicapai jika c relatif prima terhadap
m, dan a = 1 + 4k, dimana k adalah integer.
2. Untuk m = 2
b
, dan c 0, periode terbesar yang mungkin
adalah P = m/4 = 2
b-2
, yang dicapai jika X0 ganjil dan a = 3 +
8k atau a = 5 + 8k, untuk k = 0, 1, .
3. 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 a
k
- 1 dapat
dibagi oleh m adalah sama dengan m 1.

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

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

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

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




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

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



28 Random Number Generation
LCG (10)
i Zi Zi Zi Zi
0 1 2 3 4
1 13 26 39 52
2 41 18 59 36
3 21 42 63 20
4 17 34 51 4
5 29 58 23
6 57 50 43
7 37 10 47
8 33 2 35
9 45 7
10 9 27
11 53 31
12 49 19
13 61 55
14 25 11
15 5 15
16 1 3
Max Period Zi = ganjil 16
Atau P = M/4 = 64/4 = 16




29 Random Number Generation
Combined Linear Congruential
Generators
Seiring dengan meningkatnya kemampuan
komputasi, kompleksitas sistem yang dapat
disimulasikan juga meningkat.
Generator dengan periode yang lebih besar
diperlukan
30 Random Number Generation
Combined 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.

31 Random Number Generation
Combined LCG (3)
Jika Wi,1, Wi,2, , Wi,k adalah sembarang
variabel random diskrit independent
Namun 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

1 1 mod
1
,

|
|
.
|

\
|
=

=
m W W
k
j
j i i
32 Random Number Generation
Combined 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.

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

>
=

|
|
.
|

\
|
=

=

0
1
0 ,
1 mod ) 1 (
1
1
1
1
1
1
,
1
i
i
i
k
j
j i
j
i
X
m
m
X
m
X
R
dengan
m X X

34 Random Number Generation


Combined LCG (6)
Periode max yang mungkin adalah :



Periode Combined Linear Congruential
Generators dapat mencapai :
2
191
3 x 10
57




1
2 1
2
) 1 ( ) 1 )( 1 (


=
k
k
m m m
P

35 Random Number Generation
OTHER KIND OF GENERATORS
Tausworthe Generator :
- Kriptografi menggunakan operasi bit
- Menggunakan operasi XOR
- Rumus :

Random Number Generation 36
OTHER KIND OF GENERATORS (2)
Tausworthe contoh :
Misal diberikan r = 3 dan q=5
Dimana b
1
=b
2
= =b
5
=1
Tentukan 42 bit bilangan pertama !



Random Number Generation 37
OTHER KIND OF GENERATORS (3)
Tausworthe jawaban :
b
i
=(b
i-3
+ b
i-5
) mod 2

1111100011011101010000100101100111110
00110
b
6
=(b
6-3
+ b
6-5
) mod 2 =(b
3
+ b
1
) mod 2 = 0
b
9
=(b
9-3
+ b
9-5
) mod 2 =(b
6
+ b
4
) mod 2 = 1
b
17
=(b
17-3
+ b
17-5
) mod 2 =(b
14
+ b
12
) mod 2 = 0



Random Number Generation 38
OTHER KIND OF GENERATORS (4)
Blum Blum Shub
- Ditemukan oleh Lenore Blum, Manuel
Blum and Michael Shub

- Fibonacci

Random Number Generation 39
TESTING RNGs
Mengapa Generator perlu ditesting?
Frequency Test
- Kolmogorov-Smirnov Test
- Chi-Square Test
Autocorrelation Test
Random Number Generation 40
Mengapa di test? (1)
Untuk menciptakan RNG yang menghasilkan
random number yang baik
LEcuyer(1997), yang baik adalah :
1. Periode perulangan yang panjang
2. Mudah diaplikasikan ke bahasa
pemrograman tingkat tinggi
3. Lulus uji keseragaman (uniformity test) dan
kebebasan (independence test)


Random Number Generation 41
Mengapa 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 Generation 42
Mengapa di test? (3)
Pengujian sederhana dan umum dilakukan :
1. Uji keseragaman (uniformity test)
- Frequency test (Kolmogorov-Smirnov & Chi-
Square)
2. Uji kebebasan (independence test)
- Runs test
- Autocorrelation test

Random Number Generation 43
Hipotesis Pengujian
Testing for uniformity

H
0
:R
i
~ Uniform[0,1]
H
1
: R
i
~ Uniform[0,1]
Testing for independence
H
0
: R
i
~ independence
H
1
: R
i
~ independence
Level significance () = P(Reject H
0
|H
0
true)
Random Number Generation 44
/
/
Frequency Test
Memvalidasi keseragaman random number
Metode :
1. Kolmogorov Smirnov test
2. Chi-square test
Berdasarkan H
0
tidak ada perbedaan antara
sample distribution dengan theoritical
distribution
Random Number Generation 45
Kolmogorov 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 Generation 46
( ) x S
N
( ) ( ) x S x F max D
N
=
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
N
Step 5. Membandingkan nilai D dan D menarik
kesimpulan hipotesis diterima/tidak
Random Number Generation 47
Kolmogorov Smirnov test (3)
Penarikan kesimpulan :
D > D H
0
ditolak
D <= D H
0
diterima
Random Number Generation 48

Random Number Generation 49
Kolmogorov Smirnov test (4)
Contoh:
Misalkan dihasilkan 5 bil random dari suatu
generator : 0.44 , 0.81 , 0.14, 0.05, 0.93.
Lakukan kolmogorov-smirnov test dengan
=0.05

EXCEL
Random Number Generation 50
Kolmogorov Smirnov test (5)
Nilai critical value D dari tabel
(=0.05, N=5) = 0.565

Kesimpulan :
D <= D 0.26<0.565
Hipotesis bahwa distribusi bilangan
random yang diuji merupakan
bilangan uniform diterima (tidak
ditolak)
Random Number Generation 51
Chi-Square Test
Uji ini membandingkan antara jumlah bilangan yang
berada pada kelas-i ( ) dengan ekspektasinya ( )


Untuk distribusi uniform, jumlah kelas n dan jumlah
bilangan N, nilai ekspektasi seluruh kelas dapat
ditentukan
Random Number Generation 52
i
O
i
E
( )

=
n
i
i
i i
E
E O
1
2
2
o
_
n
N
E
i
=
Other kind of test
Gap test. Counts the number of digits that appear
between repetitions of a particular digit and then
uses the Kolmogorov-Smirnov test to compare with
the expected number of gaps.
Runs test. Tests the runs up and down or the runs
above and below the mean by comparing the actual
values to expected values. The statistic for
comparison is the chi-square.
Poker test. Treats numbers grouped together as a
poker hand. Then the hands obtained are compared
to what is expected using the chi-square test.
Random Number Generation 53
Daftar Pustaka
Banks, J., Carson II, J.S., Nelson, B.L. dan Nicol, D.M., 2010, Discrete Event System
Simulation, 5
th
ed., Prentice Hall, Inc., New Jersey
Law, A.M. dan Kelton, W.D., 2000, Simulation Modeling & Analysis, 3
rd
ed.,
McGraw-Hill, New York
LEcuyer, P., 1997, Uniform Random Number Generators: A Review, Proceedings of
the 1997 Winter Simulation Conference, IEEE Press, New Jersey
LEcuyer, P., 1998, Uniform Random Number Generators, Proceedings of the 1998
Winter Simulation Conference, IEEE Press, New Jersey
LEcuyer, P., 2001, Software For Uniform Random Number Generation:
Distinguishing The Good And The Bad, Proceedings of the 2001 Winter Simulation
Conference, IEEE Press, New Jersey

Random Number Generation 54
Questions And Answers
55 Random Number Generation
56 Random Number Generation



TERIMA KASIH