Pembangkitan bilangan acak Seragam U(0,1)

advertisement
Pembangkitan bilangan acak
Seragam U(0,1)
1-5
6-10
11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
1
75916
91310
43765
84308
70002
47417
71673
72973
56936
16784
2
92499
20689
67980
52509
38920
98334
94716
24419
49216
28528
3
43211
22850
29482
49147
41205
45542
55494
16559
77088
76024
4
35222
30589
53661
62820
87815
88752
92458
15428
34280
27853
5
46156
43093
38793
16440
18218
39760
96335
49173
38136
76940
6
47380
70875
37647
99014
88273
84362
77764
64692
17328
21161
7
15272
52664
30606
55440
20393
11716
13707
77135
95679
81797
8
85350
35356
77501
13482
44800
24166
95787
62416
36752
47642
9
70718
48492
16485
61996
29832
89811
52701
57362
13397
40187
10
21689
49892
77067
42516
38879
72292
11646
70365
98135
89259
Bagaimana menggunakan tabel bilangan acak di atas untuk:
 memilih 10 orang secara acak dari daftar absen?
 mengalokasikan perlakuan pada satuan percobaan?
Peubah acak seragam
• Untuk sembarang peubah acak X,
• Dengan demikian, secara teori, peubah acak lain
dapat dibangkitkan dari peubah acak seragam
U(0,1)  building-blocks of simulation
Perkembangan prosedur
pembangkitan bilangan acak U(0,1)
• Secara fisik
koin, dadu, kelereng
• Secara nonfisik
menggunakan fungsi matematis
Angka acak tersusun dari angka 0 – 9. Bagaimana
menggunakan koin untuk membangkitkan angka acak tsb?
 Sebuah koin dilempar 4 kali
 Kode: Angka  0, Gambar  1
 Konversi deretan 4 kode angka yang diperoleh (abcd)
menjadi angka mengikuti aturan:
(a x 23) + (b x 22) + (c x 2) + d
Hasil
Angka
Hasil
Angka
0000
1000
0100
0010
0001
1100
1010
1001
0
8
4
2
1
12
10
9
0110
0101
0011
1110
1101
1011
0111
1111
6
5
3
14
13
11
7
15
• Bagaimana dengan dadu?
• Bagaimana dengan kelereng?
Pembangkitan secara nonfisik
• Dibangkitkan secara rekursif dengan fungsi
Un+1 = ( + Un)5 mod(1); n  0; 0 < U0 < 1
• Tergantung pada U0  seed
• Angka yang dibangkitkan seolah-olah acak
(peudo random)
Alternatif
• xn+1 = axn + b (mod m); n  0
• a, b, x0, dan m bilangan bulat
• Angka yang dihasilkan: 0 – (m-1)
• b = 0  multiplicative, b ≠ 0  mixed
• U(0,1) diperoleh dari: ui = xi/m
Ilustrasi
• xn+1 = axn + b (mod m); n  0
• Cobakan untuk:
–
–
–
–
x0 = 89
a = 1573
b = 19
m = 1000
• Berapakah panjang siklus angka yang dihasilkan?
Membesar panjang siklus
• Untuk b > 0, panjang siklus maksimum sebesar m
iff
1) b dan m tidak punya faktor bersama selain 1
2) (a – 1) kelipatan dari setiap bilangan prima yang
membagi m
3) (a – 1) kelipatan 4 bila m kelipatan 4
• Bila m = 2k,
– syarat (2) dan (3) dipenuhi bila a = 4c + 1, c>0
– syarat (1) dipenuhi bila b bilangan bulat ganjil positif
Efek pengulangan
• Plot dari dua nilai berurutan pada fungsi
sebelumnya menghasilkan pola yang berulang
• Untuk mengurangi efek ini, dilakukan
permutasi pada setiap g angka.
Alternatif fungsi pembangkitan lain
• xj = xj-2 + xj-3 (mod p); p bilangan prima
Download