PNRG & MT by Rio

462 views

Published on

Presentasi dari Sanrio Hernanto, Crew dari Agate Studio dalam event Talent Development Saturday Agate Studio. http://agatestudio.com

Talent Development Saturday adalah acara Agate Studio crew sharing berbagai topik. Mulai dari Art, Programming, Game Production dan General Business/Management. TDS ini dilakukan tanggal 8 Februari 2014 di Bandung Digital Valley.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
462
On SlideShare
0
From Embeds
0
Number of Embeds
69
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PNRG & MT by Rio

  1. 1. @agatestudio Pseudo Random Number Generator & Mersenne Twister Sanrio Hernanto Knight Agate Studio
  2. 2. @agatestudio PSEUDO RANDOM NUMBER GENERATOR (PRNG) • Algoritma untuk menghasilkan urutan angka yang terdistribusi secara random • Urutan didapatkan berdasarkan nilai awal Random Seed initial value random number sequence PRNG
  3. 3. @agatestudio Pseudo Random Number Generator (PRNG) • Keunggulan PRNG – Speed – Reproducibility • Penggunaan – Simulation Apps – Procedural Generation – Cryptography
  4. 4. • Blum Blum Shub • Wichmann-Hill • Complementary-multiply-with- carry • Inversive congruential generator • ISAAC (cipher) • Lagged Fibonacci generator • Linear congruential generator • Linear feedback shift register • Maximal periodic reciprocals • Mersenne Twister • Multiply-with-carry • Naor-Reingold Pseudorandom Function • Park–Miller random number generator • RC4 PRGA • Well Equidistributed Long-period Linear • Xorshift Contoh-contoh implementasi PRNG
  5. 5. @agatestudio Mersenne Twister • Algoritma PRNG yang dibuat pada tahun 1997 • PRNG pertama yang dapat menghasilkan pseudorandom integer dengan kualitas tinggi dan algoritma yang cepat • PRNG yang banyak digunakan sampai sekarang
  6. 6. • PRNG Default – R – Python – Ruby – IDL – Free Pascal – PHP – Maple – MATLAB – GAUSS – CMU Common Lisp – GNU Multiple Precision Arithmetic Library – GNU Scientific Library Penggunaan Mersenne Twister
  7. 7. @agatestudio Keunggulan Mersenne Twister • Keunggulan – Panjang deret yang sangat tinggi (2^19937 - 1) – Telah diuji dengan berbagai tes untuk statistical randomness • Kelemahan – Gagal melewati beberapa tes randomness – Kurang cocok untuk kriptografi
  8. 8. @agatestudio Extra Note • Pseudo Random Number Generator tidak menghasilkan nilai random yang sempurna, termasuk mersenne twister. • Untuk nilai random seed yang sama, algoritma mersenne twister yang sama akan menghasilkan nilai yang sama • Terdapat berbagai macam implementasi mersenne twister, random seed yang sama pada implementasi mersenne twister yang berbeda akan menghasilkan nilai yang berbeda
  9. 9. Implementasi Mersenne Twister Variasi Implementasi – SFMT (SIMD-oriented Fast Mersenne Twister) – MTGP Implementasi pada bahasa pemrograman berbeda – ActionScript – Ada – C++ – C# – Java – Javascript – PHP – Python – etc
  10. 10. Sekian Terima Kasih

×