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 Xi+1=(aXi+c) mod m X0 : Bibit (Seed) a: Konstanta pengganda c: Penambah (Increment) Mixed congruential method: c>0 Multiplicative congruential method: c=0 m: Modulus Ui = Xi/m bilangan acak ke-i
Teladan X0 = 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 (232)
Siklus terpanjang Bilamana m = 2b, siklus terpanjang adalah m, jika c < m and a = 1+4k, dimana k adalah bulat (integer) Teladan: m = 24 = 16 c = 3 a = 1
Siklus terpanjang (2) Bila m = 2b, siklus terpanjangnya adalah m/4, jika c = 0 dan a = 3+8k atau a = 5+8k, dimana k adalah integer dan X0 merupakan bilangan ganjil Teladan: m = 64 a = 13 X0 = 3
Siklus terpanjang (3) Bila m dalah bilangan prima dan c=0, siklus terpanjang yang dapat dicapai adalah m-1, ak-1 habis dibagi oleh m dand bilangan bulat terkecil k adalah m-1 Teladan: m = 231-1 = 2,147,485,647 (siklusnya mencapai 2 milyar) a = 75
Siklus terpanjang (4) 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 (5) Tabel berikut ini memberikan kombinasi nilai-nilai m, a dan c
Metode Midsquare (Von Neumann dan Metropolis, 1945) Dimulai dengan bilangan 4-digit sebagai bibit (X0) 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 X1, kemudian kuadratkan X1 dan ambil kembali 4-digit ditengah-tengah dan seterusnya dilakukan dengan cara yang sama
Metode Midsquare (2) Bilangan acak Ui diperoleh dengan menam-bahkan titik desimal disebelah kiri setiap nilai Xi (atau membaginya dengan 10000)
Uji-uji untuk Bil. Acak Uji Frequensi Uji Runs Uji Autokorelasi 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-uji untuk Bil. Acak (2) 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 Keseragaman: Kolmogorov-Smirnov test Secara teoritis F(x) = x, 0<x<1 Suatu sampel n bilangan acak: U1,U2,…,Un, fungsi sebaran komulatif empirisnya (empirical cdf) adalah: Sn(x)=(banyaknya U1,U2,…,Un yang x)/n Sn(x) semestinya mendekati x bila n besar
Uji-uji untuk Bil. Acak (3) Untuk menguji keseragaman, bentuk hipotesisnya adalah H0: Ui ~ U[0,1] H1: Ui ¹ U[0,1] Hipothesis nol, H0, dibaca sebagai bilangan-bilangan tersebut menyebar seragam pada interval [0,1].
Uji-uji untuk Bil. Acak (4) Pada uji kebebasan (independence), bentuk hipothesisnya adalah; H0: Ui ~ independently H1: Ui ¹ independently hipothesis, H0, 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 Bil. Acak (5) Tingkat nyata (level of significance) a a = P(tolak H0 | H0 benar) biasanya, a sama dengan 0.01 atau 0.05 (Hipothesis nol) Sebenarnya Benar Sebenarnya Salah Terima 1 - a b (Type II error) Tolak a 1 - b (Type I error)
Uji Bil. Acak (6) 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 (7) 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.9x+1 Note: amati frekuensi untuk semua digit bandingkan dengan frekuensi teoritis dan gunakan uji Kolmogorov-Smirnov.
Uji Bil. Acak (8) (Teladan) Berdasarkan frekuensi kemunculan gap-gap, analisis 110 digits di atas untuk menguji apakah barisannya bebas (independent). Gunakan a= 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 (9) Contoh Uji Gap Relative Cum. Relative Panjang Gap Frequency Frequency Frequency F(x) |F(x) - SN(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 (10) Nilai kritis D adalah D0.05 = 1.36 / Ö100 = 0.136 karena D = max |F(x) - SN(x)| = 0.0224 adalah kurang dari D0.05, hipotesis nol yang menyatakan barisan digit tersebut bebas tidak ditolak, berdasarkan pada uji ini.
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
Uji Kebebasan Bil Acak 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: 0.41 0.68 0.89 0.74 0.36 0.54 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 ma = (2n - 1) / 3 = (16N - 29) / 90 Untuk N > 20, sebaran “a” akan mendekati sebaran normal, a ~ N(ma , ). Pendekatan ini dapat digunakan untuk menguji kebebasan bilangan-bilangan yang dibangkitkan dari suatu pembangkit (generator). Z0 = (a - ma) / sa
Uji Kebebasan Bil Acak Substitusikan ma and sa ==> Za = {a - [(2N-1)/3]} / {Ö(16N-29)/90}, dimana Z ~ N(0,1) Daerah penerimaan untuk hipothesis kebebasan adalah -Za/2 £ Z0 £ Za/2
Uji Kebebasan Bil Acak (Teladan) Berdasarkan runs menaik dan menurun, tentukan apakah barisan 40 bilangan-bilangan berikut ini menolak hipothesis kebebasan, gunakan a = 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 Barisan menaik dan menurunnya adalah sebagai berikut: + + + - + - + - - - + + - + - - + - + - - + - - + - + + - - + + - + - - + + - Ada 26 runs dalam barisan ini. Dengan N=40 dan a=26, ma = {2(40) - 1} / 3 = 26.33 dan = {16(40) - 29} / 90 = 6.79 Maka, Z0 = (26 - 26.33) / Ö(6.79) = -0.13 Nilai kritisnya adalah Z0.025 = 1.96, jadi kebebasan bilangan-bilangan itu tidak dapat ditolak, berdasarkan uji ini.
Uji Kebebasan Bil Acak 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 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
Uji Kebebasan Bil Acak (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 a = 0.05. Uji ini diringkaskan pada tabel berikut.
Uji Kebebasan Bil Acak Observed Expected (Oi - Ei)2 Combination, Frequency, Frequency, ----------- i Oi Ei Ei 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 c20.05, 2 = 5.99 < 47.65, berdasarkan uji ini kebebasan bilangan-bilangan itu ditolak.
Uji Auto Korelasi Menguji Korelasi setiap m bilangan. Ri, Ri+m, Ri+2m, Ri+3m …