Metode Linear Congruent Method - Pembangkitan Bilang Acak dengan metode LCM

 Metode Linear Congruent Method adalah sebuah metode pembangkitan bilangan acak, banyak di gunakan pada game atau permainan seperti sudoku, puzzle, dice dan lain-lain.
tujuan nya adalah untuk mengacak bilang agar si user atau si pengguna sulit untuk menebak angka yang akan muncul.

Bilangan acak yang berkualitas baik:
a. bila terjadi perulangan atau munculnya bilangan acak yang sama setelah sekian periode tertentu (semakin lama semakin baik)
b. bila terjadi perulangan kemunculannya tidak bisa diprediksi


Banyak aplikasi komputer bergantung pada random number generation. Misalnya, jika Anda ingin menulis sebuah program untuk mensimulasikan permainan poker, Anda tidak ingin setiap pemain mendapatkan kartu yang sama setiap tangan. Sejak beberapa program memerlukan sejumlah besar nomor acak, kita dapat mempercepat program dengan menggunakan metode di atas, lebih efisien nomor acak generator. Metode pengacakan nomor dengan metode congruential linier, bekerja dengan menghitung setiap nomor acak berturut-turut dari sebelumnya. Dimulai dengan nomor awal, Xo, metode congruential linier menggunakan rumus berikut:

Xi+1 = (A*Xi + C) mod M 

Dalam bukunya, The Art of Computer Programming, Donald Knuth menyajikan beberapa aturan untuk memaksimalkan jangka waktu sebelum nomor acak generator datang dengan nilai yang sama seperti di awal. Hal ini diinginkan karena setelah nomor acak generator muncul dengan nomor awal, itu akan mulai mengulangi urutan yang sama angka acak (yang tidak akan begitu acak sejak kedua kalinya karena kita dapat memprediksi apa yang akan mereka). Menurut aturan Knuth, jika M adalah prima, kita dapat membiarkan C menjadi 0 dan dia menunjukkan bahwa varian ini baris

TEOREMA: (Oleh Greenberger pada tahun 1961)

contoh :
Contoh
carilah 3 bilangan acak mengunakan metode Multiplicative RNG,
dengan nilai awal
Z0=12357,
a=19,
c=237,
m=128.

Gunakan tingkat ketelitian 4 digit di belakang koma.
bilangan acak 1
Zi+1 = (a . Zi + c) mod m
= (19 . 12357 + 237) mod 128
= 235020 mod 128
= 12
R1 = Zi+1 / m
= 12 /128
= 0.0938

bilangan acak 2
Zi+1 = (a . Zi + c) mod m
= (19 . 12 + 237) mod 128
= 465 mod 128
= 81
R1 = Zi+1 / m
= 81 /128
= 0.6328

bilangan acak 3
Zi+1 = (a . Zi + c) mod m
= (19 . 81 + 237) mod 128
= 1776 mod 128
= 112
R1 = Zi+1 / m
= 112 /128
= 0.875

Tulisan Terkait

Metode Linear Congruent Method - Pembangkitan Bilang Acak dengan metode LCM
4/ 5
Oleh

Berlangganan via email

Senang dengan tulisan di atas? Silahkan berlangganan posting terbaru langsung melalui email.