bil acak

45
Pembangkit Bilangan Acak 

Transcript of bil acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 1/45

Pembangkit BilanganAcak 

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 2/45

Bilangan Acak Pseudo

• Bilangan Acak Pseudo

– Dibangkitkan dengan komputer

– Komputer itu deterministik– bilangan acak dibangkitkan dengan

menggunakan suatu algorithma

– Efsien

– Algoritma yang baik lulus untuksemua uji statistik

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 3/45

Bilangan Acak Sebenarnya

• Beberapa gejala alam munculsebagai enomena acak

–Peluruhan !adio acti"e# Dadu# Koin#Sumber $angguan suatu %eb&am&&D chip '(a"a!nd)com*

– +asalah, -ingkat .utput (ambat

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 4/45

Penggunaan Bilangan Acak

• Simulasi

– &haotic molecular beha"ior

– /uclear detonations– 0ser beha"ior in net1ork simulation

– 2

• $ambling

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 5/45

Bilangan Acak Palsu 'Pseudo*

• Berasal dari pembangkitanpeuabah acak yang menyebarseragam 'uniorm* dengan rentang'3#4* 5 6 0 '3# 4*

• Peubah7peubah acak lainnya dapatdibangkitkan dari peubah acak ini

– 0 dipakai untuk notasi peubah acakyang menyebar uniorm '3#4*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 6/45

Siat7siat bilangan acak yangbaik

• +endekati kondisi statistik yang ideal– +enyebar uniorm '3# 4*

– !ataannya sekitar 489# !agamnya sekitar

4849– 2 'Akan kita pelajari kemudian*

• +udah dan cepat dalam membangkit7kannya

• +empunyai siklus yang cukup panjang

• Dapat diulangi hasilnya untuk tujuandebugging

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 7/45

 -eknik membangkitkanbilangan Acak

• +etode Kongruensial (inear 'LinearCongruential Method, LCG*

–Sangat populer– Efsien

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 8/45

+etode (&$

• 5i:'a5i74;c* mod m

– 53 , Bibit 'Seed*

– a, Konstanta pengganda– c, Penambah 'Increment *

• +i<ed congruential method, c=3

• +ultiplicati"e congruential method, c:3

– m, +odulus

– 0i : 5i8m bilangan acak ke7i

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 9/45

&ontoh

• 53 : 9>

• a : 4>

• c : ?@• m : 433

Berapa panjang siklusnya

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 10/45

+etode (&$

• bilangan7bilangan yangdibangkitkan 7 diskret

– : C 3#48m#98m#2#m748m

• bilangan acak ini baik# jika m cukubesar '9@9*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 11/45

Siklus terpanjang

• Bilamana m : 9b# siklus terpanjangadalah m# jika c m and a :4;?k# dimana k adalah bulat'integer *

• &ontoh,

– m : 9? : 4F

– c : @

– a : 4

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 12/45

Siklus terpanjang '9*

• Bila m : 9b# siklus terpanjangnyaadalah m8?# jika c : 3 dan a : @;Gkatau a : H;Gk# dimana k adalah

integer dan 53 merupakan bilanganganjil

• &ontoh,

– m : F?– a : 4@

– 53 : @

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 13/45

• Bila m dalah bilangan prima danc:3# siklus terpanjang yang dapatdicapai adalah m74# ak74 habis

dibagi oleh m dand bilangan bulatterkecil k adalah m74

• &ontoh,

– m : 9@474 : 9#4?>#?GH#F?> 'siklusnyamencapai 9 milyar*

– a : >H

Siklus terpanjang '@*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 14/45

• Dari penjelasan di atas dapatdisimpulkan bah1a,– Sekuens bilangan acak yang

dihasilkan akan memiliki siklus#dengan maksimum siklus adalah m

– Bilangan a dan c harus dipilih hati7hati agar diperoleh pembangkitdengan panjang siklus maksimum#dan menghasilkan bilangan acakdengan siat7siat statistik yang baik

Siklus terpanjang '?*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 15/45

• -abel berikut ini memberikankombinasi nilai7nilai m# a dan c

Siklus terpanjang 'H*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 16/45

+etode +idsIuare 'Von Neumann dan

Metropolis, 194*

• Dimulai dengan bilangan ?7digit sebagaibibit '53*

• Kuadratkan bilangan itu untuk memperolehG7digit 'bila perlu tambah!an " pada digit paling !iri, agar diperoleh persis #$digit *

• Ambil ?7digit ditengah7tengah untuk mem7peroleh bilangan ? digit berikutnya 54#

kemudian kuadratkan 54 dan ambil kembali?7digit ditengah7tengah dan seterusnyadilakukan dengan cara yang sama

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 17/45

• Bilangan acak 0i diperoleh dengan

menam7bahkan titik desimal disebelahkiri setiap nilai 5i 'atau membaginya

dengan 43333*

+etode +idsIuare '9*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 18/45

0ji7uji untuk Bil) Acak

• 0ji JreIuensi

– Apakah bilangan acaknya uniorm

– +enggunakan uji Kolmoro"7Smirno" atau uji

chi7kuadrat• 0ji !uns

– Semakin menaik dan semakin menurun

– +enggunakan uji chi7kuadrat

• 0ji Autokorelasi

– +enguji korelasi diantara bilangan7bilanganitu

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 19/45

• 0ji $ap– +enghitung banyaknya digit antar digit yang

muncul berulang untuk suatu digit tertentu'gap* dan kemudian menggunakan uji

Kolmogor"7Smirno" untuk membandingkandengan nilai harapan gaps tersebut

• Poker test– +enguji terjadinya pengulangan dari

bilangan7bilangan yang dibangkitkan– !angkain bilangan berikut memiliki

banyaknya pengulangan yang tidak biasa• 3)9HH 3)H>> 3)@@4 3)?4? 3)G9G 3)3

0ji7uji untuk Bil) Acak '9*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 20/45

0ji Keseragaman,Kolmogoro"7Smirno" test

• Secara teoritis J'<* : <# 3<4

• Suatu sampel n bilangan acak, 04#09#

2#0n# ungsi sebaran komulati

empirisnya 'empirical cd% * adalah,

• Sn'<*:'banyaknya 04#09#2#0n yang ≤ 

<*8n

• Sn'<* semestinya mendekati < bila n

besar

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 21/45

• 0ntuk menguji keseragaman#bentuk hipotesisnya adalah

L3, 0i 6 0M3#4N

L4, 0i ≠ 0M3#4N

• Lipothesis nol# L3# dibaca sebagaibilangan7bilangan tersebut

menyebar seragam pada inter"alM3#4N)

0ji7uji untuk Bil) Acak '@*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 22/45

• Pada uji kebebasan 'independence*#bentuk hipothesisnya adalahO

L3, 0i 6 independently

L4, 0i ≠ independently• hipothesis# L3# dibaca bah1a bilangan7

bilangan tersebut menyebar secarabebas) Kegagalan menolak hipothesisnol berarti bah1a tidak ada cukup buktimenunjukkan adanya ketakbebasanyang terdeteksi berdasarkan uji ini)

0ji7uji untuk Bil) Acak '?*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 23/45

  Tingkat nyata (level of significance) α α = P(tolak H0 | H0 benar)

 biasanya, α sama dengan 0.01 atau 0.0

(Hi!ot"esis nol)

  #ebenarnya $enar #ebenarnya #ala"

Terima 1 % α β

  (Ty!e && error)

Tolak α 1 % β  (Ty!e & error)

0ji Bil) Acak 'H*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 24/45

• 0ji Gap menghitung banyaknya digit antarpemunculun digit yang sama berturutan)

'&ontoh* panjang gap yang bersesuaian dengandigit @)?# 4# @# H# 4# ># 9# G# 9# 3# ># # 4# @# H# 9# ># # ?# 4# F# @

@# # F# @# ?# G# 9# @# 4# # ?# ?# F# G# ?# 4# @# G# # H# H# >

@# # H# # G# H# @# 9# 9# @# ># ?# ># 3# @# F# @# H# # # H# H

H# 3# ?# F# G# 3# ?# ># 3# @# @# 3# # H# ># # H# 4# F# F# @# G

G# G# # 9# # 4# G# H# ?# ?# H# 3# 9# @# # ># 4# 9# 3# @# F# @

/ote, ada delapan belas digit & pada barisan diatas

::= 4> gap# gap pertama panjangnya 43

0ji Bil) Acak 'F*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 25/45

'ita akan "itung frekuensi ga!, %conto" frekuensi ga! dengan

 !anang 10 untuk digit %

P(ga! 10) = P(tak ) ⋅⋅⋅ P(tak ) P() ,

note* ada 10 bentuk P(tak ),= (0.+)10 (0.1)

#ebaran frekuensi teoritis untuk suatu urutan yang bersifat

acak diberikan ole"

(-) = 0.1 (0.+)n

 = 1 % 0.+-.1

 /ote* amati frekuensi untuk semua digit bandingkan dengan

frekuensi teoritis dan gunakan ui 'olmogorov%#mirnov.

0ji Bil) Acak '>*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 26/45

(onto")

$erdasarkan frekuensi kemunculan ga!%ga!,analisis 110 digits di atas untuk mengui a!aka"

 barisannya bebas (independent ). unakan α= 0.0.Total 2 ga!s diberikan ole" banyaknya digit minus 10,

 adi 110%10=100. $anyaknya ga! bersesuaian dengan berbagai digit (0%+) adala"*

  3igit 0 1 4 5 6 7 8 +

  2 a!s 7 8 8 17 10 1 7 8 + 1 

total 100

0ji Bil) Acak 'G*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 27/45

onto" 9i a!

 :elative um. :elativePanang a! re;uency re;uency re;uency (-) |(-) % # /(-)|

0% 0. 0. 0.5+ 0.00615%7 44 0.44 0.7 0.6+ 0.0008%11 17 0.17 0.75 0.7176 0.044514%1 + 0.0+ 0.8 0.8157 0.0116%1+ 0.0 0.88 0.8785 0.001640%4 6 0.06 0.+5 0.+404 0.01+8

45%47 0.0 0.+7 0.+5+7 0.04448%1 0 0.00 0.+7 0.+67 0.0054% 0 0.00 0.+7 0.+77 0.0076%+ 4 0.04 0.++ 0.+84 0.00550%5 0 0.00 0.++ 0.++0 0.00055%57 1 0.01 1.00 0.++6 0.0065

0ji Bil) Acak '*

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 28/45

 /ilai kritis 3 adala"

30.0 = 1.6 < √100 = 0.16

karena 3 = ma- |(-) % # /(-)| = 0.0445

adala" kurang dari 30.0, "i!otesis nol yang

menyatakan barisan digit tersebut bebastidak ditolak, berdasarkan !ada ui ini.

0ji Bil) Acak '43*

0ji K b b Bil A k

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 29/45

0ji Kebebasan Bil Acak

• '(i )un '+enaik dan +enurun*Perhatikan?3 bilangan berikutO uji

Kolmogoro"7Smirno" dan &hi7sIuare akanmengindikasikan bah1a bilangan7bilangan

tersebut adalah seragam 'uni%orml*distributed*) -etapi tidak demikiansebenarnya)

3)3G 3)3 3)9@ 3)9 3)?9 3)HH 3)HG 3)>9 3)G 3)4

3)44 3)4F 3)4G 3)@4 3)?4 3)H@ 3)>4 3)>@ 3)>? 3)G?

3)39 3)3 3)@3 3)@9 3)?H 3)?> 3)F 3)>? 3)4 3)H

3)49 3)4@ 3)9 3)@F 3)@G 3)H? 3)FG 3)GF 3)GG 3)4

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 30/45

•Sekarang bila urutannya adalah seperti diba1ah ini# adakah sedikit alasan untukmempertanyakan kebebasaanya

'independence*)

3)?4 3)FG 3)G 3)G? 3)>? 3)4 3)HH 3)>4 3)@F3)@3

3)3 3)>9 3)GF 3)3G 3)H? 3)39 3)44 3)9 3)4F3)4G

3)GG 3)4 3)H 3)F 3)3 3)@G 3)9@ 3)@9 3)43)H@

3)@4 3)?9 3)>@ 3)49 3)>? 3)?H 3)4@ 3)?> 3)HG

3)9

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 31/45

• Perhatikanlah,•  Banyaknya runs

•  Panjang runs

• 3)?4 3)FG 3)G 3)>? 3)@F 3)H?• Banyaknya runs adalah @# masing7masing

panjangnya 9 runs menaik# 9 runsmenurun dan 4 runs menaik#

dilambangkan dengan; ; 7 7 ;

• adi runs adalah sekuens menaik ataumenurun dari suatu barisan

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 32/45

• /ote, ika / adalah banyaknyabilangan7bilangan dalam barisan#maksimum banyaknya runs adalah

/74# dan minimum banyaknya runsadalah satu)

• ika a> adalah total banyaknya

runs pada suatu sekuens# rata7ratadan ragam '+ariance* untuk a> diberikan oleh

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 33/45

µa = (4n % 1) <

= (16/ % 4+) < +0

9ntuk / ? 40, sebaran a> akan mendekatisebaran normal, a @ /(µa , ).

Pendekatan ini da!at digunakan untuk mengui

kebebasan bilangan%bilangan yang dibangkitkandari suatu !embangkit ( generator ).

A0  = (a % µa) < σa

4

4

0ji Kebebasan Bil Acak

0ji K b b Bil A k

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 34/45

#ubstitusikan µa and σa ==?

 Aa = Ba % C(4/%1)<DE < B√(16/%4+)<+0E,

dimana A @ /(0,1)

3aera" !enerimaan untuk "i!ot"esis kebebasan

adala" %Aα/2 ≤ A0 ≤ Aα/2

α / 2α / 2

-Z α / 2 Z α / 2

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 35/45

'&ontoh*

Berdasarkan runs menaik dan menurun#tentukan apakah barisan ?3 bilangan7bilanganberikut ini menolak hipothesis kebebasan#

gunakan α : 3)3H)

  3)?4 3)FG 3)G 3)? 3)>? 3)4 3)HH 3)F9 3)@F 3)9>

  3)4 3)>9 3)>H 3)3G 3)H? 3)39 3)34 3)@F 3)4F 3)9G

  3)4G 3)34 3)H 3)F 3)4G 3)?> 3)9@ 3)@9 3)G9 3)H@  3)@4 3)?9 3)>@ 3)3? 3)G@ 3)?H 3)4@ 3)H> 3)F@ 3)9

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 36/45

0ji Kebebasan Bil Acak

$arisan menaik dan menurunnya adala" sebagai berikut*  − −  − − −  −  − − − − − − − − − − − − − −

Fda 46 runs dalam barisan ini. 3engan /=50 dan a=46,

µa

 = B4(50) % 1E < = 46. dan

 = B16(50) % 4+E < +0 = 6.7+

Gaka,

A0 = (46 % 46.) < √(6.79) = −0.13

 /ilai kritisnya adala" A0.04 = 1.+6, adi kebebasan

 bilangan%bilangan itu tidak da!at ditolak, berdasarkan

ui ini. 

4

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 37/45

• '(i Po!er     didasarkan pada seberapasering suatu digit berulang)

&ontoh,

3)9HH 3)H>> 3)@@4 3)?4? 3)G9G3)3

• /ote, sepasang digit yang serupa

muncul pada setiap bilangan yangdibangkitkan)

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 38/45

0ji Kebebasan Bil Acak

Pada bilangan @7digit# hanya ada @ kemungkinan)

P'@ digit berbeda* :

 P'9nd berbeda dari 4st* Q P'@rd berbeda dr 4st R

9nd*: '3)* '3)G* : 3)>9

P'@ digit sama* :

 P'9nd digit sama dg 4st* ∗ P'@rd digit sama dg4st*

: '3)4* '3)4* : 3)34

P'tepat sepasang* : 4 7 3)>9 7 3)34 : 3)9>

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 39/45

'&ontoh*

Suatu barisan 4333 bilangan tiga7digityang telah dibangkitkan dan hasil analisis

menunjukkan FG3 diantaranyamempunyai tiga digit berbeda# 9Gmempunyai tepat sepasang digit sama#and @4 ketiga digitnya sama) Berdasarkanuji poker# apakah bilangan7bilangan ini

bebas$unakan α : 3)3H)

0ji ini diringkaskan pada tabel berikut)

0ji Kebebasan Bil Acak

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 40/45

.bser"ed E<pected '.i 7 Ei*9

&ombination# JreIuency# JreIuency# 77777777777

i .i   Ei  Ei

  -hree dierent digits FG3 >93 9)9?

  -hree like digits @4 43 ??)43  E<actly one pair 9G 9>3 4)@@  4333 4333 ?>)FH

Derajat bebas yang bersesuaian adalahbanyaknya kelas dikurang satu)

Karena χ93)3H# 9 : H) ?>)FH# berdasarkan uji

ini kebebasan bilangan7bilangan itu ditolak)

0ji Kebebasan Bil Acak

ji l i

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 41/45

0ji Auto Korelasi

• +enguji Korelasi setiap m bilangan)

• !i# !i;m# !i;9m# !i;@m 2

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 42/45

54

Pembangkit Bilangan Acak yang

Aman untuk Kriptografi • Pembangkit bilangan acak yang cocok untuk

kriptografi dinamakan cryptographically secure pseudorandom generator  (CSPRNG).

• Persyaratan CSPRNG adalah:

1. Secara statistik ia mempunyai sifat-sifat yang bagus (yaitulolos uji keacakan statistik).

2. Tahan terhadap serangan (attack ) yang serius. Serangan inibertujuan untuk memprediksi bilangan acak yangdihasilkan.

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 43/45

5

 Blum Blum Shut (BBS)

• CSPRNG yang paling sederhana dan paling

mangkus (secara kompleksitas teoritis).

•  BBS  dibuat pada tahun 1986 oleh Lenore

Blum, Manuel Blum, dan Michael Shub.

• Berbasis teori bilangan

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 44/45

55

Algoritma,1. Pilih dua buah bilangan prima rahasia, p dan q, yang masing-masing

kongruen dengan 3 modulo 4.2. Kalikan keduanya menjadi n = pq. Bilangan m ini disebut bilangan

bulat Blum 

3. Pilih bilangan bulat acak lain, s, sebagai umpan sedemikian

sehingga:

(i)  2 ≤ s < n 

(ii) s dan n relatif prima

kemudian hitung x0 = s2 mod n 

4. Barisan bit acak dihasilkan dengan melakukan iterasi berikut

sepanjang yang diinginkan:

(i)  Hitung xi = xi – 12 mod n

(ii)   zi = bit LSB ( Least Significant Bit ) dari xi 

Barisan bit acak adalah z1, z2, z3, …

7/23/2019 bil acak

http://slidepdf.com/reader/full/bil-acak 45/45

Contoh.  +isalkan kita memilih p : 44 dan : 9@sehingga n : p : 9H@) Kita pilih s : @ dan kita

hitung - 3 :@9

 mod 9H@ : ) Barisan bit acak kitahasilkan sebagai berikut,

 

 - 4 : - 39 mod n : 9 mod 9H@ : G4  U4 : 4

'karena G4 ganjil# bit LS.7nya pasti 4* - 9 : - 49 mod n : G49 mod 9H@ : 9@F  U9 : 3

'karena 9@F genap# bit LS.7nya pasti 3*

 - @ : - 99 mod n : 9@F9 mod 9H@ : @F  U4 : 3

 - ? : - @9 mod n : @F9 mod 9H@ : @4  U4 : 4 - H : - ?9 mod n : @49 mod 9H@ : 939  U4 : 3 dst)

Barisan bit acak yang dihasilkan 43343))