Analisa Statistika Pengacakan Nomor


Apakah Bilangan itu Benar-benar Acak?

Pertanyaan ini sangat sulit dijawab. Sebelum kita mencobanya, mari kita definisikan apa sebenarnya yang kita maksud dengan nomor acak.

Saat membahas bilangan tunggal, nomor acak adalah bilangan yang diambil dari sekumpulan nilai yang mungkin, yang masing-masing sama-sama mungkin. Dalam statistik, ini disebut distribusi seragam, karena distribusi probabilitas untuk setiap nomor seragam (yaitu, sama) di kisaran nilai yang mungkin. Sebagai contoh, sebuah nomor acak memiliki probabilitas 1/6 dari satu putaran, 1/6 dari dua putaran dan seterusnya. Oleh karena itu, probabilitas masing-masing dari enam angka yang muncul sama persis, jadi kita mengatakan bahwa putaran kita memiliki distribusi yang seragam. Saat membahas urutan bilangan acak, setiap angka yang ditarik harus independen secara statistik dari yang lain. Ini berarti bahwa menggambar satu nilai tidak membuat nilai itu kecil kemungkinannya terjadi lagi. Inilah yang terjadi dengan kematian yang tidak dibebani: Jika Anda mengacak enam, itu tidak berarti kesempatan untuk menggelar enam perubahan lainnya.

Jadi, mengapa sulit untuk menguji apakah urutan angka yang diberikan acak? Alasannya adalah bahwa jika generator bilangan acak Anda bagus, setiap kemungkinan urutan nilai sama-sama cenderung muncul. Ini berarti bahwa generator bilangan acak yang baik juga akan menghasilkan urutan yang terlihat tidak acak ke mata manusia  dan yang juga gagal dalam uji statistik yang mungkin akan kita ekspose. Jika Anda cukup melempar koin, Anda akan mendapatkan sekumpulan koin yang terguling yang terlihat terpisah dari urutan lainnya tidak terlihat acak sama sekali. Scott Adams telah mengungkapkan ini sebagai strip Dilbert, lucu tapi memang benar adanya:

DILBERT © 2001 Scott Adams. Used By permission of UNIVERSAL UCLICK. All rights reserved.

Apa yang Dilbert katakan adalah benar: Tidak mungkin membuktikan secara definitif apakah urutan angka tertentu (dan generator yang menghasilkannya) acak. Bisa terjadi bahwa makhluk di komik itu telah menghasilkan angka acak sempurna selama bertahun-tahun dan bahwa Dilbert kebetulan berjalan saat ini ketika ada enam (angka enam) berturut-turut. Ini tidak mungkin, tapi jika makhluk itu duduk di sana cukup lama (dan Dilbert sering dikunjungi), maka pada akhirnya akan terjadi.

Jadi, jika tidak mungkin secara definitif membuktikan keacakan, apa yang bisa kita lakukan? Pendekatan pragmatik adalah mengambil banyak urutan bilangan acak dari generator yang diberikan dan mengarahkannya ke tes statistik. Seiring urutan melewati lebih banyak tes, kepercayaan pada keacakan angka meningkat dan begitu juga kepercayaan pada generator. Namun, karena kita mengharapkan beberapa urutan untuk tampil nonrandom (seperti sepuluh gulungan enam pada die kita), kita harus mengharapkan beberapa urutan gagal setidaknya beberapa tes. Namun, jika banyak urutan gagal dalam tes, kita harus curiga. Ini juga cara Anda secara intuitif akan menguji mati untuk melihat apakah sudah dimuat: Gulingkan berkali-kali, dan jika Anda melihat terlalu banyak urutan dengan nilai yang sama, Anda harus curiga.

Jika Anda melihat Statistik Real-Time untuk RANDOM.ORG, Anda terkadang akan melihat blok angka yang gagal dalam beberapa tes. Ini tidak berarti angka itu tidak acak. Sebenarnya, jika semua blok melewati semua tes, kita harus curiga, karena ini berarti generator tidak akan memproduksi rangkaian yang tidak terlihat (tapi tetap saja) acak.

Analisis Visual Sederhana

Salah satu cara untuk memeriksa generator bilangan acak adalah dengan menciptakan visualisasi dari angka yang dihasilkannya. Manusia benar-benar pandai bercak pola, dan visualisasi memungkinkan Anda menggunakan mata dan otak Anda secara langsung untuk tujuan ini. Meskipun Anda tidak harus mempertimbangkan pendekatan pendekatan ini secara menyeluruh atau analisis formal, ini adalah cara yang bagus dan cepat untuk mendapatkan kesan kasar tentang kinerja generator yang diberikan. Bitmap yang ditunjukkan di bawah ini adalah bagian dari bitmap yang lebih besar yang dibuat oleh Bo Allen pada bulan April 2008 untuk memeriksa kualitas dua generator bilangan acak. Bo membuat bitmap di sebelah kiri dengan RANDOM.ORG's Bitmap Generator, yang tentu saja merupakan True Random Number Generator (TRNG), dan bitmap di sebelah kanan dengan fungsi rand () dari PHP pada Microsoft Windows, yang merupakan Pseudo- Random Number Generator (PRNG).


Anda bisa klik pada gambar untuk bitmap ukuran penuh (512 × 512) atau kunjungi halaman perbandingan Bo Allen di mana mereka tersedia berdampingan dan di mana Anda juga akan menemukan kode sumber untuk program Bo. Seperti yang dapat Anda lihat dari gambar, bitmap yang dihasilkan oleh generator angka pseudo-random PHP / Windows menunjukkan pola yang jelas dibandingkan dengan yang dihasilkan oleh generator bilangan acak sebenarnya dari RANDOM.ORG. Bo juga menemukan bahwa fungsi rand PHP () dilakukan jauh lebih baik pada platform GNU / Linux daripada di Microsoft Windows. Sementara perbandingan Bo bukan merupakan analisis formal dari kedua generator, ini jelas menunjukkan betapa Anda harus menjadi nomor acak, terutama jika situs Anda adalah situs game atau perjudian.

Secara umum, perlu dicatat bahwa jumlah pseudo-random number generator sangat bervariasi dalam kualitasnya, dan sementara yang terburuk sangat buruk, yang terbaik sebenarnya sangat bagus. Anda akan menemukan lebih banyak informasi tentang perbedaan dan trade-off antara dua pendekatan dalam esai saya tentang keacakan.

Analisis Statistik oleh Charmaine Kenny (2005)

Pada tahun 2005, Charmaine Kenny, seorang mahasiswa tahun terakhir di bidang Ilmu Manajemen dan Ilmu Pengetahuan Manajemen Trinity College (MSISS), melakukan studi terhadap jumlah yang dihasilkan oleh RANDOM.ORG dan dua layanan nomor acak lainnya. Laporan Charmaine memperpanjang Louise Foley beberapa tahun sebelumnya (lihat di bawah) dan merupakan pandangan terkini tentang keadaan seni dalam uji statistik untuk generator bilangan acak sejati. Charmaine mendasarkan laporannya pada test suite NIST untuk nomor acak, yang merupakan keadaan seni dalam tes untuk keacakan pada saat itu. (Keadaan seni terdahulu, suite tes Diehard oleh Prof. George Marsaglia, tidak lagi dipertahankan.) Laporan Charmaine mencakup ulasan dan kritik terhadap suite NIST, dan juga menjadi dasar rangkaian Real-Time Statistics digunakan di RANDOM.ORG.

Charmaine merekomendasikan daftar tes berikut dari paket NIST untuk digunakan di RANDOM.ORG:

  • Uji Frekuensi: Monobit
  • Uji Frekuensi: Blokir
  • Jalankan Test
  • Uji untuk Jalan Terpanjang Ones di Blok
  • Uji Peringkat Matriks Biner
  • Transformasi Fourier Diskrit (Uji Spektral)
  • Uji Pencocokan Template Non-Tumpang Tindih
  • Uji Pencocokan Template yang Tumpang Tindih
  • Uji Statistik Universal Maurer
  • Uji Kompleksitas Linear
  • Serial Test
  • Perkiraan Uji Entropi
  • Uji Jumlah Kumulatif
  • Uji Kunjungan Acak
  • Uji Eksperimen Kunjungan Acak

Proyek tahun terakhir Charmaine tersedia untuk diunduh: Analysis2005.pdf (107 halaman, 857 Kb)

Analisis Statistik oleh Louise Foley (2001)
Pada tahun 2001, Louise Foley, mahasiswa tahun terakhir pada gelar Ilmu Manajemen dan Ilmu Pengetahuan Manajemen Trinity College (MSISS), melakukan studi terhadap kualitas nomor RANDOM.ORG sebagai proyek akhir tahunnya. Laporan tersebut mencakup analisis angka dan menerapkan empat tes yang dia sarankan dilakukan pada semua nomor yang diproduksi oleh RANDOM.ORG. Tes tersebut kemudian diimplementasikan oleh Antonio Arauzo Azofra, seorang mahasiswa Ilmu Komputer yang proyek akhir tahun untuk membangun modul statistik online super mewah untuk RANDOM.ORG.

Ini adalah tes yang direkomendasikan oleh Louise:

Uji chi-kuadrat
Tes berjalan di atas dan di bawah median
Sebuah tes pengaturan balik
Tes jumlah yang tumpang tindih
Uji peringkat biner untuk 32 × 32 matriks

Laporan Louise juga membandingkan jumlah dari RANDOM.ORG dengan yang dihasilkan oleh generator lavarand Silicon Graphics dan generator bilangan acak pseudo milik L'Ecuyer. Semua generator lulus tes.

Proyek tahun terakhir Louise tersedia untuk diunduh: Analysis2001.pdf (55 halaman, 494 Kb)

Diterjemahkan dari sumber aslinnya (English) ke (Indonesia) RANDOM.ORG oleh DIBEDUGUL

1 Komentar

Lebih baru Lebih lama