Sabtu, 12 September 2009

Jenis PRNG yang dibahas disini adalah Linear Congruential Generator (LCG)

Jenis PRNG yang dibahas disini adalah Linear Congruential Generator (LCG) . LCG merupakan jenis PRNGs yang banyak digunakan dalam aplikasi komputer modern. LCG ditemukan oleh D.H Lehmer. Tak lama sesudah itu, banyak programmer yang menggunakan metode LCG tersebut untuk menghasilkan bilangan yang tampak random (pseudorandom number) dalam jumlah besar dan waktu yang cepat. Programmer pada saat itu hanya membutuhkan kecepatan pembangkitan bilangan random saja, tanpa memperhatikan kerandoman bilangan tersebut secara statistika. Karena itu, ada banyak generator LCG yang gagal melalui pengujian kerandoman statistika. Linear Congruent Method banyak dipakai untuk mengbangkitkan bilangan acak Y1, Y2, Y3…, Yn yang bernilai [0,m] dengan memanfaatkan nilai sebelumnya. Untuk membangkitkan bilangan acak ke-n+1 (Yn+1) dengan LCM, didapat definisi: I(n+1) =(aI(n)+c) mod m

Keterangan:

I(n+1) = bilangan random baru yang dihasilkan

In = nilai awal atau nilai sebelumnya

a = parameter

c = parameter

m = parameter dengan a, c dan m sebagai nilai pembangkit dan I0 sebagai nilai awal

Di dalam buku teks statistik klasik, angka-angka acak diciptakan dengan mengambil bola yang dinomori ke luar dari suatu kotak yang berisi sejumlah bola bernomor yang diketahui jumlahnya. Jika jumlah bola yang ada didalam kotak jumlahnya sedikit, maka hal tersebut masih mungkin dilakukan. Tetapi jika jumlah bolanya dalam jumlah yang sangat besar, maka hal tersebut akan susah dan tidak efektif dilakukan. Terlepas dari hal itu, ada isu yang lain yang meragukan bahwa mengambil bola bernomor dari suatu kotak besar merupakan suatu proses acak dengan kesempatan sama untuk semua bola. Karena hal tersebut dan pertimbangan lainnya, maka dilakukan komputerisasi generator bilangan random/acak. Sesungguhnya, bahasa pemrograman tingkat tinggi menawarkan sedikitnya satu format dari generator bilangan random. Pembuatan angkaangka yang acak bukan merupakan hal yang mudah, karena komputer adalah suatu mesin deterministik. Karena itulah mustahil untuk membuat angka-angka acak/bilangan yang benar-benar random tanpa adanya perangkat keras tambahan.

True random number secara definisi tidak dapat terprediksi. TRNG dilakukan dengan melakukan sampling entropi sumber dari alam dan memprosesnya melalui komputer. Misalnya adalah bilangan random yang dihasilkan oleh Random.org dan Laverand.sgi.com. Random.org menggunakan atmospheric noise dari radio dan Lavarand.sgi.com menggunakan Lava Lite® lamps sebagai entropi sumber. Entropi sumber yang lain yang cukup bagus adalah radioaktivitas yang juga digunakan oleh Fourmilab di Swiss untuk membangkitkan true random number. Pseudorandom Number Generator (PNRG) atau dalam bahasa indonesia Pembangkit bilangan acak semu adalah sebuah algoritma yang membangkitkan sebuah deret bilangan yang tidak benar-benar acak. Keluaran dari pembangkit bilangan acak semu hanya mendekati beberapa dari sifat-sifat yang dimiliki bilangan acak. Walaupun bilangan yang benar-benar acak hanya dapat dibangkitkan oleh perangkat keras pembangkit bilangan acak, bukannya oleh perangkat lunak komputer, akan tetapi bilangan acak semu banyak digunakan dalam beberapa seperti untuk simulasi dalam ilmu fisika, matematika, biologi dan sebagainya, dan juga merupakan hal yang sangat penting dalam dunia kriptografi

Tidak ada komentar:

Posting Komentar