Anda di halaman 1dari 41

Pembangkit Bilangan Acak

Bilangan Acak Pseudo


Bilangan Acak Pseudo
Dibangkitkan dengan komputer
Komputer itu deterministik
bilangan acak dibangkitkan dengan
menggunakan suatu algorithma
Efisien
Algoritma yang baik lulus untuk semua uji
statistik
Bilangan Acak Sebenarnya
Beberapa gejala alam muncul sebagai
fenomena acak
Peluruhan Radio active, Dadu, Koin,
Sumber Gangguan suatu WebCam CCD
chip (LavaRnd.com)
Masalah: Tingkat Output Lambat
Penggunaan Bilangan Acak
Simulasi
Chaotic molecular behavior
Nuclear detonations
User behavior in network simulation

Gambling


Bilangan Acak Palsu (Pseudo)
Berasal dari pembangkitan peuabah
acak yang menyebar seragam (uniform)
dengan rentang (0,1) X ~ U (0, 1)
Peubah-peubah acak lainnya dapat
dibangkitkan dari peubah acak ini
U dipakai untuk notasi peubah acak yang
menyebar uniform (0,1)
Sifat-sifat bilangan acak yang baik
Mendekati kondisi statistik yang ideal
Menyebar uniform (0, 1)
Rataannya sekitar 1/2, Ragamnya sekitar 1/12
(Akan kita pelajari kemudian)
Mudah dan cepat dalam membangkit-
kannya
Mempunyai siklus yang cukup panjang
Dapat diulangi hasilnya untuk tujuan
debugging

Teknik membangkitkan bilangan
Acak
Metode Kongruensial Linear (Linear
Congruential Method, LCG)
Sangat populer
Efisien

Metode LCG
X
i+1
=(aX
i
+c) mod m
X
0
: Bibit (Seed)
a: Konstanta pengganda
c: Penambah (Increment)
Mixed congruential method: c>0
Multiplicative congruential method: c=0
m: Modulus
U
i
= X
i
/m bilangan acak ke-i
Teladan
X
0
= 27
a = 17
c = 43
m = 100

Berapa panjang siklusnya?
Metode LCG
bilangan-bilangan yang dibangkitkan -
diskret
I = { 0,1/m,2/m,,m-1/m }
bilangan acak ini baik, jika m cuku
besar (2
32
)
Siklus terpanjang
Bilamana m = 2
b
, siklus terpanjang
adalah m, jika c < m and a = 1+4k,
dimana k adalah bulat (integer)
Teladan:
m = 2
4
= 16
c = 3
a = 1
Siklus terpanjang (2)
Bila m = 2
b
, siklus terpanjangnya adalah
m/4, jika c = 0 dan a = 3+8k atau a =
5+8k, dimana k adalah integer dan X
0

merupakan bilangan ganjil
Teladan:
m = 64
a = 13
X
0
= 3
Bila m dalah bilangan prima dan c=0,
siklus terpanjang yang dapat dicapai
adalah m-1, a
k
-1 habis dibagi oleh m
dand bilangan bulat terkecil k adalah
m-1
Teladan:
m = 2
31
-1 = 2,147,485,647 (siklusnya
mencapai 2 milyar)
a = 7
5

Siklus terpanjang (3)
Dari penjelasan di atas dapat
disimpulkan bahwa:
Sekuens bilangan acak yang dihasilkan
akan memiliki siklus, dengan maksimum
siklus adalah m
Bilangan a dan c harus dipilih hati-hati
agar diperoleh pembangkit dengan
panjang siklus maksimum, dan
menghasilkan bilangan acak dengan sifat-
sifat statistik yang baik
Siklus terpanjang (4)
Tabel berikut ini memberikan
kombinasi nilai-nilai m, a dan c
Siklus terpanjang (5)
Metode Midsquare (Von Neumann dan Metropolis, 1945)
Dimulai dengan bilangan 4-digit sebagai
bibit (X
0
)
Kuadratkan bilangan itu untuk memperoleh
8-digit (bila perlu tambahkan 0 pada digit paling
kiri, agar diperoleh persis 8-digit)
Ambil 4-digit ditengah-tengah untuk mem-
peroleh bilangan 4 digit berikutnya X
1
,
kemudian kuadratkan X
1
dan ambil kembali
4-digit ditengah-tengah dan seterusnya
dilakukan dengan cara yang sama
Bilangan acak U
i
diperoleh dengan menam-
bahkan titik desimal disebelah kiri setiap nilai
X
i
(atau membaginya dengan 10000)
Metode Midsquare (2)
Uji-uji untuk Bil. Acak
Uji Frequensi
Apakah bilangan acaknya uniform?
Menggunakan uji Kolmorov-Smirnov atau uji chi-
kuadrat
Uji Runs
Semakin menaik dan semakin menurun?
Menggunakan uji chi-kuadrat
Uji Autokorelasi
Menguji korelasi diantara bilangan-bilangan itu
Uji Gap
Menghitung banyaknya digit antar digit yang
muncul berulang untuk suatu digit tertentu
(gap) dan kemudian menggunakan uji
Kolmogorv-Smirnov untuk membandingkan
dengan nilai harapan gaps tersebut
Poker test
Menguji terjadinya pengulangan dari
bilangan-bilangan yang dibangkitkan
Rangkain bilangan berikut memiliki
banyaknya pengulangan yang tidak biasa
0.255 0.577 0.331 0.414 0.828 0.909
Uji-uji untuk Bil. Acak (2)
Uji Keseragaman: Kolmogorov-
Smirnov test
Secara teoritis F(x) = x, 0<x<1
Suatu sampel n bilangan acak: U
1
,U
2
,,U
n
,
fungsi sebaran komulatif empirisnya
(empirical cdf) adalah:
S
n
(x)=(banyaknya U
1
,U
2
,,U
n
yang s x)/n
S
n
(x) semestinya mendekati x bila n besar
Untuk menguji keseragaman, bentuk
hipotesisnya adalah
H
0
: U
i
~ U[0,1]
H
1
: U
i
= U[0,1]
Hipothesis nol, H
0
, dibaca sebagai
bilangan-bilangan tersebut menyebar
seragam pada interval [0,1].
Uji-uji untuk Bil. Acak (3)
Pada uji kebebasan (independence), bentuk
hipothesisnya adalah;
H
0
: U
i
~ independently
H
1
: U
i
= independently
hipothesis, H
0
, dibaca bahwa bilangan-
bilangan tersebut menyebar secara bebas.
Kegagalan menolak hipothesis nol berarti
bahwa tidak ada cukup bukti menunjukkan
adanya ketakbebasan yang terdeteksi
berdasarkan uji ini.
Uji-uji untuk Bil. Acak (4)
Tingkat nyata (level of significance) o
o = P(tolak H
0
| H
0
benar)
biasanya, o sama dengan 0.01 atau 0.05
(Hipothesis nol)
Sebenarnya Benar Sebenarnya Salah
Terima 1 - o |
(Type II error)
Tolak o 1 - |
(Type I error)

Uji Bil. Acak (5)
Uji Gap menghitung banyaknya digit antar
pemunculun digit yang sama berturutan.
(Teladan) panjang gap yang bersesuaian dengan
digit 3.
4, 1, 3, 5, 1, 7, 2, 8, 2, 0, 7, 9, 1, 3, 5, 2, 7, 9, 4, 1, 6, 3
3, 9, 6, 3, 4, 8, 2, 3, 1, 9, 4, 4, 6, 8, 4, 1, 3, 8, 9, 5, 5, 7
3, 9, 5, 9, 8, 5, 3, 2, 2, 3, 7, 4, 7, 0, 3, 6, 3, 5, 9, 9, 5, 5
5, 0, 4, 6, 8, 0, 4, 7, 0, 3, 3, 0, 9, 5, 7, 9, 5, 1, 6, 6, 3, 8
8, 8, 9, 2, 9, 1, 8, 5, 4, 4, 5, 0, 2, 3, 9, 7, 1, 2, 0, 3, 6, 3
Note: ada delapan belas digit 3 pada barisan di atas
==> 17 gap, gap pertama panjangnya 10
Uji Bil. Acak (6)
Kita akan hitung frekuensi gap, -contoh frekuensi gap dengan
panjang 10 untuk digit 3-
P(gap 10) = P(tak 3) P(tak 3) P(3) ,
note: ada 10 bentuk P(tak 3),
= (0.9)
10
(0.1)
Sebaran frekuensi teoritis untuk suatu urutan yang bersifat
acak diberikan oleh
F(x) = 0.1 (0.9)
n
= 1 - 0.9
x+1

Note: amati frekuensi untuk semua digit bandingkan dengan
frekuensi teoritis dan gunakan uji Kolmogorov-Smirnov.
Uji Bil. Acak (7)
(Teladan)
Berdasarkan frekuensi kemunculan gap-gap,
analisis 110 digits di atas untuk menguji apakah
barisannya bebas (independent). Gunakan o= 0.05.
Total # gaps diberikan oleh banyaknya digit minus 10,
jadi 110-10=100. Banyaknya gap bersesuaian dengan
berbagai digit (0-9) adalah:
Digit 0 1 2 3 4 5 6 7 8 9
# Gaps 7 8 8 17 10 13 7 8 9 13

total 100
Uji Bil. Acak (8)
Contoh Uji Gap

Relative Cum. Relative
Panjang Gap Frequency Frequency Frequency F(x) |F(x) - S
N
(x)|
0-3 35 0.35 0.35 0.3439 0.0061
4-7 22 0.22 0.57 0.5695 0.0005
8-11 17 0.17 0.74 0.7176 0.0224
12-15 9 0.09 0.83 0.8147 0.0153
16-19 5 0.05 0.88 0.8784 0.0016
20-23 6 0.06 0.94 0.9202 0.0198
24-27 3 0.03 0.97 0.9497 0.0223
28-31 0 0.00 0.97 0.9657 0.0043
32-35 0 0.00 0.97 0.9775 0.0075
36-39 2 0.02 0.99 0.9852 0.0043
40-43 0 0.00 0.99 0.9903 0.0003
44-47 1 0.01 1.00 0.9936 0.0064
Uji Bil. Acak (9)
Nilai kritis D adalah
D
0.05
= 1.36 / \100 = 0.136
karena D = max |F(x) - S
N
(x)| = 0.0224
adalah kurang dari D
0.05
, hipotesis nol yang
menyatakan barisan digit tersebut bebas
tidak ditolak, berdasarkan pada uji ini.
Uji Bil. Acak (10)
Uji Kebebasan Bil Acak
Uji Run (Menaik dan Menurun)
Perhatikan40 bilangan berikut; uji
Kolmogorov-Smirnov dan Chi-square akan
mengindikasikan bahwa bilangan-bilangan
tersebut adalah seragam (uniformly
distributed). Tetapi tidak demikian
sebenarnya.

0.08 0.09 0.23 0.29 0.42 0.55 0.58 0.72 0.89 0.91
0.11 0.16 0.18 0.31 0.41 0.53 0.71 0.73 0.74 0.84
0.02 0.09 0.30 0.32 0.45 0.47 0.69 0.74 0.91 0.95
0.12 0.13 0.29 0.36 0.38 0.54 0.68 0.86 0.88 0.91
Sekarang bila urutannya adalah seperti di
bawah ini, adakah sedikit alasan untuk
mempertanyakan kebebasaanya
(independence).

0.41 0.68 0.89 0.84 0.74 0.91 0.55 0.71 0.36 0.30
0.09 0.72 0.86 0.08 0.54 0.02 0.11 0.29 0.16 0.18
0.88 0.91 0.95 0.69 0.09 0.38 0.23 0.32 0.91 0.53
0.31 0.42 0.73 0.12 0.74 0.45 0.13 0.47 0.58 0.29
Uji Kebebasan Bil Acak
Perhatikanlah:
Banyaknya runs
Panjang runs
0.41 0.68 0.89 0.74 0.36 0.54
Banyaknya runs adalah 3, masing-masing
panjangnya 2 runs menaik, 2 runs menurun
dan 1 runs menaik, dilambangkan dengan
+ + - - +
Jadi runs adalah sekuens menaik atau
menurun dari suatu barisan
Uji Kebebasan Bil Acak
Note: Jika N adalah banyaknya
bilangan-bilangan dalam barisan,
maksimum banyaknya runs adalah N-1,
dan minimum banyaknya runs adalah
satu.
Jika a adalah total banyaknya runs
pada suatu sekuens, rata-rata dan
ragam (variance) untuk a diberikan
oleh
Uji Kebebasan Bil Acak

a
= (2n - 1) / 3
= (16N - 29) / 90
Untuk N > 20, sebaran a akan mendekati
sebaran normal, a ~ N(
a
, ).
Pendekatan ini dapat digunakan untuk menguji
kebebasan bilangan-bilangan yang dibangkitkan
dari suatu pembangkit (generator).
Z
0
= (a -
a
) / o
a
2
a
o
2
a
o
Uji Kebebasan Bil Acak
Substitusikan
a
and o
a
==>
Z
a
= {a - [(2N-1)/3]} / {\(16N-29)/90},
dimana Z ~ N(0,1)
Daerah penerimaan untuk hipothesis kebebasan
adalah -Z
o/2
s Z
0
s Z
o/2
o / 2 o / 2
-Z
o / 2
Z
o / 2
Uji Kebebasan Bil Acak
(Teladan)
Berdasarkan runs menaik dan menurun,
tentukan apakah barisan 40 bilangan-
bilangan berikut ini menolak hipothesis
kebebasan, gunakan o = 0.05.

0.41 0.68 0.89 0.94 0.74 0.91 0.55 0.62 0.36 0.27
0.19 0.72 0.75 0.08 0.54 0.02 0.01 0.36 0.16 0.28
0.18 0.01 0.95 0.69 0.18 0.47 0.23 0.32 0.82 0.53
0.31 0.42 0.73 0.04 0.83 0.45 0.13 0.57 0.63 0.29
Uji Kebebasan Bil Acak
Uji Kebebasan Bil Acak
Barisan menaik dan menurunnya adalah sebagai berikut:
+ + + + + + + + + + + + + + + + + + +
Ada 26 runs dalam barisan ini. Dengan N=40 dan a=26,

a
= {2(40) - 1} / 3 = 26.33 dan
= {16(40) - 29} / 90 = 6.79
Maka,
Z
0
= (26 - 26.33) / \(6.79) = 0.13
Nilai kritisnya adalah Z
0.025
= 1.96, jadi kebebasan
bilangan-bilangan itu tidak dapat ditolak, berdasarkan
uji ini.
2
a
o
Uji Poker didasarkan pada seberapa
sering suatu digit berulang.
Contoh:
0.255 0.577 0.331 0.414 0.828 0.909
Note: sepasang digit yang serupa
muncul pada setiap bilangan yang
dibangkitkan.
Uji Kebebasan Bil Acak
Uji Kebebasan Bil Acak
Pada bilangan 3-digit, hanya ada 3 kemungkinan.
P(3 digit berbeda) =
P(2nd berbeda dari 1st) * P(3rd berbeda dr 1st & 2nd)
= (0.9) (0.8) = 0.72
P(3 digit sama) =
P(2nd digit sama dg 1st) - P(3rd digit sama dg 1st)
= (0.1) (0.1) = 0.01
P(tepat sepasang) = 1 - 0.72 - 0.01 = 0.27
(Teladan)
Suatu barisan 1000 bilangan tiga-digit yang
telah dibangkitkan dan hasil analisis
menunjukkan 680 diantaranya mempunyai
tiga digit berbeda, 289 mempunyai tepat
sepasang digit sama, and 31 ketiga digitnya
sama. Berdasarkan uji poker, apakah
bilangan-bilangan ini bebas?
Gunakan o = 0.05.
Uji ini diringkaskan pada tabel berikut.
Uji Kebebasan Bil Acak
Observed Expected (O
i
- E
i
)
2

Combination, Frequency, Frequency, -----------
i O
i
E
i
E
i

Three different digits 680 720 2.24
Three like digits 31 10 44.10
Exactly one pair 289 270 1.33
------ ------ -------
1000 1000 47.65

Derajat bebas yang bersesuaian adalah
banyaknya kelas dikurang satu.
Karena _
2
0.05, 2
= 5.99 < 47.65, berdasarkan uji
ini kebebasan bilangan-bilangan itu ditolak.
Uji Kebebasan Bil Acak
Uji Auto Korelasi
Menguji Korelasi setiap m bilangan.
R
i
, R
i+m
, R
i+2m
,

R
i+3m

Anda mungkin juga menyukai