Pembangkit Variabel Random Slide: Tri Harsono
Pembangkit variabel random
1
1. Pembangkit variabel random diskrit • variabel random: – adalah nilai suatu variabel random yg mempunyai distribusi tertentu utk mengambil variabel random dari beberapa distribusi yg berbeda; fungsinya terlebih dahulu melalui distribusi CDF dari suatu variabel random.
• Pengambilan variabel random melalui CDF ini dinamakan inverse transformation method (metode ransformasi invers/balik) Pembangkit variabel random
2
1. Pembangkit variabel random diskrit • Metode ini membangkitkan variabel random dari: – data distribusi yg aktual terjadi, atau – melalui berbagai teori distribusi probabilitas.
• Untuk fungsi distribusi diskrit f(x), prosedur membangkitkan variabel random dari f(x):
Pembangkit variabel random
3
Prosedur membangkitkan variabel random dari f(x) 1. Plot f(x), cari CDF F(x) dari variabel random X, 2. Generate, bil. random Ri dari PRNG (dari komp.) utk 0
Pembangkit variabel random
4
Contoh • Suatu variabel random dinyatakan dgn f(x) sbb: X = demand
0
10
20
30
40
f(x) = P(X=x)
1/8
1/4
1/2
1/16
1/16
Pembangkit variabel random
5
• CDF-nya 16/16
F(x)
15/16
7/8
3/8 1/8 0
10
20
30
40
X
Gambar 1. CDF dari f(x) Pembangkit variabel random
6
• Tabel 1: CDF fungsi demand X = demand
0
10
20
30
40
f(x)=P(X=x)
1/8
1/4
1/2
1/16
1/16
F(x)
1/8
3/8
7/8
15/16 16/16
Pembangkit variabel random
7
• Pada saat membangkitkan bil. Random dari komputer, bila salah satu nilai random adalah R1 = 8/16, maka titik potong dapat diperoleh di x=20 (gambar1). • Dgn cara yg sama juga bisa menghasilkan bil.random R2=0.3750, maka titik potong dapat diperoleh di X=10. • Kondisi ini dapat dilakukan terus-menerus menggunakan setiap bil.random yg diambil dr komp.
Pembangkit variabel random
8
• Bil.random yg dihasilkan dari komp. disusun dlm suatu tabel simulasi thd tabel distribusi diskrit Tabel 2 • Hasil dari kelima bil.random yg dibangkitkan, angka terbaik adalah 20 demand X = 20
Pembangkit variabel random
9
• Tabel 2: Tabel simulasi dari tabel distribusi diskrit No.urut bil.random
Demand X
F(x)
Tag number
Hasil bil.random di komp.
0.09375
0
0.1250
0.000 – 0.1250
0
0.6328127
10
0.3750
0.126 – 0.3750
20
0.8750
20
0.8750
0.376 – 0.8750
20
0.6903
30
0.9375
0.876 – 0.9375
20
0.9520
40
0.9999
0.938 – 0.9999
40
Pembangkit variabel random
10
2. Pembangkit variabel random kontinu • Sbg contoh, bangkitkan variabel random distribusi kontinu melalui fungsi:
2 x , 0 < x < 1 f ( x) = 0 , lainnya
Pembangkit variabel random
11
• Kumulatif (CDF) dari fungsi tersebut adalah: x
F ( x) = ∫ 2 ydy = y
2 x 0
=x
2
0
Sifat dari fungsi kumulatif adalah: Kontinu, Increasing/fungsi naik
Gambar 2
Pembangkit variabel random
12
• Gambar 2: fungsi distribusi kontinu F(x) F(x) 1.0
F(xb)
F(xa) 0
Xa
Xb
Pembangkit variabel random
1.0
x
13
• Bila F(xa) = Ra; F(xb) = Rb, dan Ra < R < Rb, maka: F(xb) – F(xa) = Rb – Ra • Bila ingin membangkitkan variabel random utk nilai x, maka fungsi F(x) di transformasi sbb:
F ( x) = x 2 = R ⇒x= R R tidak diketahui dan harus diambil dari bil.random melalui Pseudo RNG (PRNG). Pembangkit variabel random
14
Contoh x= R
Misal untuk membangkitkan PRNG menggunakan aritmatik RNG, dengan a = 19; Z0 = 12357; c = 237; m = 128
Z1 = (19 *12357 + 237) mod 128
Z 2 = (19 *12 + 237) mod 128
= 235020 − 235008
= 465 − 384
12 = 12 = R → R1 = = 0.09375 128
= 81 → R2 = Pembangkit variabel random
81 = 0.6328125 128 15
Z 3 = (19 * 81 + 237) mod 128
Z 5 = (19 * 61 + 237) mod 128
= 1776 − 1664
= 1396 − 1280
112 = 112 → R3 = = 0.875 128
= 116 → R4 =
116 = 0.90625 128
Z 4 = (19 *112 + 237) mod 128 = 2365 − 2304 = 61 → R4 =
61 = 0.4765625 128
Pembangkit variabel random
16
• Dengan ke-5 bil.random tsb, dapat dicari nilai x-nya x1 = R1 = 0.09375 = 0.3062; x2 = R2 = 0.6328125 = 0.7955; x3 = R3 = 0.8750 = 0.9354; x4 = R4 = 0.4765625 = 0.6903; x5 = R5 = 0.90625 = 0.9520;
Pembangkit variabel random
17
• Bila nilai x1 sd x5 dicari nilai rata-ratanya: n
x=
∑x i =1
i
n
3.6794 = = 0.7359 = x ∗ 5
Dengan demikian: dari generate variabel random untuk fungsi:
F ( x) = x 2 = R ⇒x= R
Diperoleh x* yang optimal yaitu x* = 0.7359 utk 0 < x < 1 Pembangkit variabel random
18
3. variabel random distribusi densitas • Misal diket. Fungsi densitas: • Kita akan lihat pada posisi mana, bilangan random berperan Distributif kumulatif-nya:
a (1 − x) , 0 ≤ x ≤ 1 f ( x) = 0 , untuk lainnya
x
F ( x) = ∫ a (1 − y )dy 0 x
1 2 1 2 = a( y − y = a x − x 2 0 2 Pembangkit variabel random
19
• Mencari nilai a pada fungsi distribusi kumulatif: – bahwa nilai fungsi densitas F(x) = 1 untuk 0 ≤ x ≤ 1, – Sehingga:
1 2 F ( x) = a x − x = 1 2
Untuk x = 1
Pembangkit variabel random
1 2 a 1 − 1 = 1 2 ⇔a=2 20
• Untuk a = 2, diperoleh variabel random nya
1 F ( x ) = R = 2 x − x 2 2 ⇔ R = 2x − x2 ⇔ x2 − 2x + R = 0 ⇔ x1, 2 = 1 ± 1 − R
Dengan menggunakan nilai bil.random pd arithmetic RNG sebelumnya: a = 19; Z0 = 12357; c = 237; m = 128 diperoleh bil.random
Pembangkit variabel random
21
• • • • •
R1 = 0.09357, R2 = 0.632812, R3 = 0.87500, R4 = 0.47656, R5 = 0.90625.
Sehingga nilai x untuk masing-masing bil.random Ri x2 ⇒ (1) 1 − 0.2500 = 0.7500
x1 ⇒ (1) 1 + 1 − 0.9375 = 1.250 ⇒ ( 2) 1 + 1 − 0.63281 = 1.6059
⇒ (2) 1 − 0.6059 = 0.3940
⇒ (3) 1 + 1 − 0.8750 = 1.3539 ⇒ ( 4) 1 + 1 − 0.47656 = 1.7242
⇒ (3) 1 − 0.3536 = 0.6464 ⇒ (4) 1 − 0.7242 = 0.2758
⇒ (5) 1 + 1 − 0.90625 = 1.3061
⇒ (5) 1 − 0.3061 = 0.6939
Ingat bahwa nilai x berada pada interval positif 0 ≤ x ≤ 1 ternyata semua hasil di atas memang positif Pembangkit variabel random
22
Tugas2 • Distribusi data ada 2 jenis yaitu: distribusi diskrit dan distribusi kontinu. Sebutkan beserta contohnya, masing-masing jenis distribusi tersebut. • Apakah ada metode lain untuk membangkitkan bilangan random semu (pseudo random) selain Linear Congruential Method (LCM) dan Multiplicative Method.
Pembangkit variabel random
23
4 Simulasi pada permainan • Suatu permainan dapat juga dilakukan dengan menggunakan simulasi. • Contoh: – simulasi pd permainan pelemparan mata uang – simulasi pd permainan pelemparan dadu
Pembangkit variabel random
24
Pelemparan mata uang • Sisi mata uang adalah H=head dan T=tail, • Peluang munculnya H dan T sama, yaitu 0.5, • Dengan menggunakan random number generator dari distribusi uniform untuk interval (0,1), maka aturan permainan dapat ditentukan, yaitu: – Bila 0≤R ≤0.5 maka hasilnya H, – Bila 0.5
• Misal dilakukan pengambilan 10 kali random number dgn pembangkitan random number menggunakan pseudo RNG multiplicative.
Pembangkit variabel random
25
Pelemparan mata uang a = 7; Z0 = 12357; c = 0; m = 17
Z n +1 = (a * Z n ) mod m
Zn Rn = m Pembangkit variabel random
26
Pelemparan mata uang Z 3 = (a * Z 2 ) mod m
Z1 = (a * Z 0 ) mod m
= 7 * 4 mod 17 = 28 − 17 = 11
= 7 *12357 mod 17 = 86499 − 86496 = 3 3 R1 = = 0.1765 17
Muncul H
R3 =
11 = 0.6470 17
Z 2 = (a * Z1 ) mod m
Z 4 = (a * Z 3 ) mod m
= 7 * 3 mod 17
= 7 *11 mod 17 = 77 − 68 = 9
= 21 − 17 = 4 4 R2 = = 0.2353 17
Muncul H
R4 =
Pembangkit variabel random
9 = 0.5294 17
Muncul T
Muncul T 27
Pelemparan mata uang Z 7 = (a * Z 6 ) mod m
Z 5 = (a * Z 4 ) mod m
= 7 *16 mod 17 = 112 − 102 = 10
= 7 * 9 mod 17 = 63 − 51 = 12 12 R5 = = 0.7059 17
Muncul T
R7 =
10 = 0.5882 17
Z 6 = (a * Z 5 ) mod m
Z 8 = (a * Z 7 ) mod m
= 7 *12 mod 17 = 84 − 68 = 16
= 7 *10 mod 17 = 70 − 68 = 2
16 R6 = = 0.9411 17
Muncul T
R8 =
Pembangkit variabel random
2 = 0.1176 17
Muncul T
Muncul H 28
Pelemparan mata uang Z 9 = (a * Z 8 ) mod m = 7 * 2 mod 17 = 14 − 17 = 3 3 R9 = = 0.1765 17
Muncul H
Z10 = (a * Z 9 ) mod m = 7 * 3 mod 17 = 21 − 17 = 4 R10 =
4 = 0.2353 17
Muncul H Pembangkit variabel random
29
Pelemparan mata uang • Kesimpulan • Untuk pembangkitan random number sebanyak 10 kali – gambar H muncul = 5 kali – gambar T muncul = 5 kali
• Tidak menutup kemungkinan untuk pembangkitan yang lebih dari 10 kali, hasil random number gambar H lebih besar dari gambar T atau sebaliknya.
Pembangkit variabel random
30
Pelemparan dadu • Ada 6 mata dadu, • Tentukan pembagian distribusi dari output pelemparan dadu sehingga dapat digunakan untuk menentukan mata dadu menggunakan random number, • Bila dilakukan 10 kali pelemparan dadu (atau 10 kali penarikan random number), bagaimana hasilnya?
Pembangkit variabel random
31
Pelemparan dadu • Jawab: • Pelemparan dadu dengan 6 mata dadu, mempunyai probabilitas dan distribusi sebagaimana tabel di bawah ini:
X
1
2
3
4
5
6
f(x) = P(x)
1/6
1/6
1/6
1/6
1/6
1/6
F(x)
1/6
1/3
1/2
2/3
5/6
1
CDF Pembangkit variabel random
32
Pelemparan dadu • Dari distribusi tersebut dapat dinyatakan relasi mata dadu dgn distribusinya: – – – – – –
x=1 x=2 x=3 x=4 x=5 x=6
0 ≤ F(x) ≤ 1/6, 1/6 ≤ F(x) ≤ 1/3, 1/3 ≤ F(x) ≤ 1/2, 1/2 ≤ F(x) ≤ 2/3, 2/3 ≤ F(x) ≤ 5/6, 5/6 ≤ F(x) ≤ 1.
x=1 x=2 x=3 x=4 x=5 x=6
0 ≤ F(x) ≤ 0.1667, 0.1667 ≤ F(x) ≤ 0.3333, 0.3333 ≤ F(x) ≤ 0.5000, 0.5000 ≤ F(x) ≤ 0.6667, 0.6667 ≤ F(x) ≤ 0.8333, 0.8333 ≤ F(x) ≤ 1.
• F(x) dicari dari pembangkitan random number F(x) = R. Pembangkit variabel random
33
Pelemparan dadu • Misal: untuk pembangkitan random number digunakan dari hasil pembangkitan random number pada “pelemparan mata uang”, • Berarti kita mempunyai 10 random number, • Konversi 10 random number tersebut ke dalam mata dadu adalah:
Pembangkit variabel random
34
Pelemparan dadu • • • • • • • • • •
R1=0.1765 R2=0.2353 R3=0.6470 R4=0.5294 R5=0.7059 R6=0.9411 R7=0.5882 R8=0.1176 R9=0.1765 R10=0.2353
x = 2 (mata dadu 2), x = 2 (mata dadu 2), x = 4 (mata dadu 4), x = 4 (mata dadu 4), x = 5 (mata dadu 5), x = 6 (mata dadu 6), x = 4 (mata dadu 4), x = 1 (mata dadu 1), x = 2 (mata dadu 2), x = 2 (mata dadu 2), Pembangkit variabel random
35
Pelemparan dadu Kesimpulan Dari hasil konversi pembangkitan random number ke dalam mata dadu sebanyak 10 kali, mata dadu 2 (angka 2) yang banyak muncul, Tidak menutup kemungkinan untuk pembangkitan yang lebih dari 10 kali, maka mata dadu selain 2 (selain angka 2) yang lebih banyak muncul. Pembangkit variabel random
36
Soal 1. Diketahui fungsi densitas distribusi kontinu sbb: 5 x , 0 < x < 1 f ( x) = 0 ,x <0
• •
Tentukan fungsi distribusi kumlatif Formulasikan pembangkit variabel random-nya
Pembangkit variabel random
37
Soal 2. Diketahui fungsi densitas distribusi kontinu sbb: •
• •
Tentukan fungsi distribusi kumlatif dari kedua fungsi tersebut. Hitunglah nilai a dari kedua fungsi densitas tersebut. Simulasikan variabel random untuk mendapatkan nilai x
1 ,0 ≤ x ≤1 f1 ( x) = x + a 0 , lainnya a sin x , 0 ≤ x ≤ π f 2 ( x) = 0 , lainnya
Pembangkit variabel random
38
Reference Tri Harsono, Bahan ajar modeling and simulation, 2013.
Pembangkit variabel random
39