SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
@agatestudio
Pseudo Random Number Generator
&
Mersenne Twister
Sanrio Hernanto
Knight
Agate Studio
@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
@agatestudio
Pseudo Random Number Generator (PRNG)
• Keunggulan PRNG
– Speed
– Reproducibility
• Penggunaan
– Simulation Apps
– Procedural Generation
– Cryptography
• 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
@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
• 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
@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
@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
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
Sekian
Terima Kasih

Contenu connexe

En vedette

Introduction to Evolutionary Algorithms
Introduction to Evolutionary AlgorithmsIntroduction to Evolutionary Algorithms
Introduction to Evolutionary Algorithmsherbps10
 
Cuckoo search algorithm
Cuckoo search algorithmCuckoo search algorithm
Cuckoo search algorithmRitesh Kumar
 
Cuckoo search
Cuckoo searchCuckoo search
Cuckoo searchNepalAdz
 
Evolution algorithms
Evolution algorithmsEvolution algorithms
Evolution algorithmsAndrii Babii
 
Metaheuristic Algorithms: A Critical Analysis
Metaheuristic Algorithms: A Critical AnalysisMetaheuristic Algorithms: A Critical Analysis
Metaheuristic Algorithms: A Critical AnalysisXin-She Yang
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic AlgorithmSHIMI S L
 
Cuckoo Search & Firefly Algorithms
Cuckoo Search & Firefly AlgorithmsCuckoo Search & Firefly Algorithms
Cuckoo Search & Firefly AlgorithmsMustafa Salam
 
Genetic Algorithms Made Easy
Genetic Algorithms Made EasyGenetic Algorithms Made Easy
Genetic Algorithms Made EasyPrakash Pimpale
 
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...Osama Salaheldin
 
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Covariance Matrix Adaptation Evolution Strategy - CMA-ESCovariance Matrix Adaptation Evolution Strategy - CMA-ES
Covariance Matrix Adaptation Evolution Strategy - CMA-ESOsama Salaheldin
 

En vedette (10)

Introduction to Evolutionary Algorithms
Introduction to Evolutionary AlgorithmsIntroduction to Evolutionary Algorithms
Introduction to Evolutionary Algorithms
 
Cuckoo search algorithm
Cuckoo search algorithmCuckoo search algorithm
Cuckoo search algorithm
 
Cuckoo search
Cuckoo searchCuckoo search
Cuckoo search
 
Evolution algorithms
Evolution algorithmsEvolution algorithms
Evolution algorithms
 
Metaheuristic Algorithms: A Critical Analysis
Metaheuristic Algorithms: A Critical AnalysisMetaheuristic Algorithms: A Critical Analysis
Metaheuristic Algorithms: A Critical Analysis
 
Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Cuckoo Search & Firefly Algorithms
Cuckoo Search & Firefly AlgorithmsCuckoo Search & Firefly Algorithms
Cuckoo Search & Firefly Algorithms
 
Genetic Algorithms Made Easy
Genetic Algorithms Made EasyGenetic Algorithms Made Easy
Genetic Algorithms Made Easy
 
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...Enhancing Intelligent Agents By Improving Human Behavior  Imitation Using Sta...
Enhancing Intelligent Agents By Improving Human Behavior Imitation Using Sta...
 
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
Covariance Matrix Adaptation Evolution Strategy - CMA-ESCovariance Matrix Adaptation Evolution Strategy - CMA-ES
Covariance Matrix Adaptation Evolution Strategy - CMA-ES
 

Plus de Agate Studio

Digital Coloring by Raksa
Digital Coloring by RaksaDigital Coloring by Raksa
Digital Coloring by RaksaAgate Studio
 
Computational Advertising by Icha
Computational Advertising by IchaComputational Advertising by Icha
Computational Advertising by IchaAgate Studio
 
Freemium conceptanalytics leemarvin
Freemium conceptanalytics leemarvinFreemium conceptanalytics leemarvin
Freemium conceptanalytics leemarvinAgate Studio
 
Game Programming Pattern by Restya
Game Programming Pattern by RestyaGame Programming Pattern by Restya
Game Programming Pattern by RestyaAgate Studio
 
Community Management by Yudhit
Community Management by YudhitCommunity Management by Yudhit
Community Management by YudhitAgate Studio
 
[Habli] tds agustus
[Habli] tds agustus[Habli] tds agustus
[Habli] tds agustusAgate Studio
 
Wp quality bar tedy
Wp quality bar   tedyWp quality bar   tedy
Wp quality bar tedyAgate Studio
 
Lee marvin pitching-hacks
Lee marvin pitching-hacksLee marvin pitching-hacks
Lee marvin pitching-hacksAgate Studio
 
Emotiv EPOC by Neneng
Emotiv EPOC by NenengEmotiv EPOC by Neneng
Emotiv EPOC by NenengAgate Studio
 
Aksi – Koneksi – Deviasi by Valent
Aksi – Koneksi – Deviasi by ValentAksi – Koneksi – Deviasi by Valent
Aksi – Koneksi – Deviasi by ValentAgate Studio
 
MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by AndrewAgate Studio
 
How to Persuade People by Dave
How to Persuade People by DaveHow to Persuade People by Dave
How to Persuade People by DaveAgate Studio
 
Eddie supersmash goodminton
Eddie   supersmash goodmintonEddie   supersmash goodminton
Eddie supersmash goodmintonAgate Studio
 
Satriyo digital audio gears
Satriyo   digital audio gearsSatriyo   digital audio gears
Satriyo digital audio gearsAgate Studio
 
Yinan heroes of-the_strom
Yinan   heroes of-the_stromYinan   heroes of-the_strom
Yinan heroes of-the_stromAgate Studio
 
Advanced encryption standard (aes) epul
Advanced encryption standard (aes)   epulAdvanced encryption standard (aes)   epul
Advanced encryption standard (aes) epulAgate Studio
 
Real Time Framework by Tonny
Real Time Framework by TonnyReal Time Framework by Tonny
Real Time Framework by TonnyAgate Studio
 
Unity Camera & Simple Image Editing by Puthut
Unity Camera & Simple Image Editing by PuthutUnity Camera & Simple Image Editing by Puthut
Unity Camera & Simple Image Editing by PuthutAgate Studio
 
Hibernate by Jason
Hibernate by JasonHibernate by Jason
Hibernate by JasonAgate Studio
 

Plus de Agate Studio (20)

Digital Coloring by Raksa
Digital Coloring by RaksaDigital Coloring by Raksa
Digital Coloring by Raksa
 
Computational Advertising by Icha
Computational Advertising by IchaComputational Advertising by Icha
Computational Advertising by Icha
 
Freemium conceptanalytics leemarvin
Freemium conceptanalytics leemarvinFreemium conceptanalytics leemarvin
Freemium conceptanalytics leemarvin
 
Game Programming Pattern by Restya
Game Programming Pattern by RestyaGame Programming Pattern by Restya
Game Programming Pattern by Restya
 
Community Management by Yudhit
Community Management by YudhitCommunity Management by Yudhit
Community Management by Yudhit
 
[Habli] tds agustus
[Habli] tds agustus[Habli] tds agustus
[Habli] tds agustus
 
Wp quality bar tedy
Wp quality bar   tedyWp quality bar   tedy
Wp quality bar tedy
 
Toku DB by Aswin
Toku DB by AswinToku DB by Aswin
Toku DB by Aswin
 
Lee marvin pitching-hacks
Lee marvin pitching-hacksLee marvin pitching-hacks
Lee marvin pitching-hacks
 
Emotiv EPOC by Neneng
Emotiv EPOC by NenengEmotiv EPOC by Neneng
Emotiv EPOC by Neneng
 
Aksi – Koneksi – Deviasi by Valent
Aksi – Koneksi – Deviasi by ValentAksi – Koneksi – Deviasi by Valent
Aksi – Koneksi – Deviasi by Valent
 
MMO Design Architecture by Andrew
MMO Design Architecture by AndrewMMO Design Architecture by Andrew
MMO Design Architecture by Andrew
 
How to Persuade People by Dave
How to Persuade People by DaveHow to Persuade People by Dave
How to Persuade People by Dave
 
Eddie supersmash goodminton
Eddie   supersmash goodmintonEddie   supersmash goodminton
Eddie supersmash goodminton
 
Satriyo digital audio gears
Satriyo   digital audio gearsSatriyo   digital audio gears
Satriyo digital audio gears
 
Yinan heroes of-the_strom
Yinan   heroes of-the_stromYinan   heroes of-the_strom
Yinan heroes of-the_strom
 
Advanced encryption standard (aes) epul
Advanced encryption standard (aes)   epulAdvanced encryption standard (aes)   epul
Advanced encryption standard (aes) epul
 
Real Time Framework by Tonny
Real Time Framework by TonnyReal Time Framework by Tonny
Real Time Framework by Tonny
 
Unity Camera & Simple Image Editing by Puthut
Unity Camera & Simple Image Editing by PuthutUnity Camera & Simple Image Editing by Puthut
Unity Camera & Simple Image Editing by Puthut
 
Hibernate by Jason
Hibernate by JasonHibernate by Jason
Hibernate by Jason
 

Dernier

adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdfShintaNovianti1
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.aechacha366
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmaksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmeunikekambe10
 
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanTPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanNiKomangRaiVerawati
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
Materi Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptxMateri Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptxshafiraramadhani9
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
Teknik Menjawab Kertas P.Moral SPM  2024.pptxTeknik Menjawab Kertas P.Moral SPM  2024.pptx
Teknik Menjawab Kertas P.Moral SPM 2024.pptxwongcp2
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
MA Kelas XII Bab 1 materi musik mkontemnporerFase F.pdf
MA Kelas XII  Bab 1 materi musik mkontemnporerFase F.pdfMA Kelas XII  Bab 1 materi musik mkontemnporerFase F.pdf
MA Kelas XII Bab 1 materi musik mkontemnporerFase F.pdfcicovendra
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxRioNahak1
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxsudianaade137
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 

Dernier (20)

adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
1.2.a.6. Demonstrasi Konstektual - Modul 1.2 (Shinta Novianti - CGP A10).pdf
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmaksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
 
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikanTPPK_panduan pembentukan tim TPPK di satuan pendidikan
TPPK_panduan pembentukan tim TPPK di satuan pendidikan
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
Materi Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptxMateri Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptx
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
Teknik Menjawab Kertas P.Moral SPM  2024.pptxTeknik Menjawab Kertas P.Moral SPM  2024.pptx
Teknik Menjawab Kertas P.Moral SPM 2024.pptx
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
MA Kelas XII Bab 1 materi musik mkontemnporerFase F.pdf
MA Kelas XII  Bab 1 materi musik mkontemnporerFase F.pdfMA Kelas XII  Bab 1 materi musik mkontemnporerFase F.pdf
MA Kelas XII Bab 1 materi musik mkontemnporerFase F.pdf
 
alat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptxalat-alat liturgi dalam Gereja Katolik.pptx
alat-alat liturgi dalam Gereja Katolik.pptx
 
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptxPanduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
Panduan Substansi_ Pengelolaan Kinerja Kepala Sekolah Tahap Pelaksanaan.pptx
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 

PRNG & Mersenne Twister

  • 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