Uploaded on

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

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.

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
131
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. @agatestudio Pseudo Random Number Generator & Mersenne Twister Sanrio Hernanto Knight Agate Studio
  • 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. @agatestudio Pseudo Random Number Generator (PRNG) • Keunggulan PRNG – Speed – Reproducibility • Penggunaan – Simulation Apps – Procedural Generation – Cryptography
  • 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. @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. • 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. @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. @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. 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. Sekian Terima Kasih