Ini adalah pertanyaan yang rumit; Saya akan mencoba menjelaskan sedikit tanpa berkeliaran terlalu jauh ke dalam gulma.
Pertama, kita harus bertanya "apa itu keacakan yang benar "? Diskusi semacam itu dengan cepat berubah menjadi perairan filosofis, tetapi intinya adalah ini: "apakah alam semesta benar - benar acak"? Dengan kata lain, jika Anda menghitung waktu dan materi, dapatkah Anda menghitung kondisi alam semesta selanjutnya dari yang sekarang? Jika ya, maka alam semesta adalah deterministik dan tidak ada keacakan yang sebenarnya (lihat apa yang saya maksud tentang "filosofis"?)
Karena "keacakan yang sebenarnya" sulit untuk didefinisikan, kita sering puas dengan "pseudorandomness." Ini umumnya diperlukan saat membuat angka "acak" di komputer, tentu saja.
Generator nomor pseudorandom paling sederhana akan menjadi sesuatu seperti algoritma terkenal Dilbert's "9 .. 9 .. 9 ..". Tapi secara naluriah itu tampaknya tidak terlalu baik (yang tentu saja merupakan lelucon). Para ahli statistik telah mengembangkan serangkaian tes untuk mengatakan apakah suatu urutan hasil yang konon acak adalah "baik". Mulailah dengan halaman wikipedia untuk "uji kuadrat chi" dan Anda bisa menghabiskan sore hanya membaca tentang tes ini.
Algoritme komputer sederhana seperti "generator kongruensial linier" menghasilkan angka yang cukup baik untuk uji chi-squared (Anda masih perlu "menyemai" algoritme ini dari sesuatu, namun).
Langkah selanjutnya dalam "kebaikan" adalah "keacakan kuat kriptografis" yang berarti bahwa diberi urutan a1, a2, ... Anda tidak dapat memprediksi angka berikutnya dalam urutan dengan "probabilitas masuk akal" kecuali jika Anda menggunakan banyak perhitungan. Angka-angka ini kadang-kadang disebut "pseudorandom secara komputasi." Salah satu cara umum untuk mendapatkan urutan seperti itu adalah melalui "rantai hash" seperti ini: a1 = SHA512 (a2), a2 = SHA512 (a3), ... Karena kami percaya (berdasarkan pengalaman, bukan bukti matematika) bahwa SHA512 adalah komputasi sulit untuk dibalik, kami percaya bahwa a2 adalah "mustahil" untuk diprediksi hanya dengan a1.
Jadi sekarang muncul pertanyaan, apa hal terbaik yang dapat dilakukan manusia berdasarkan aturan yang ditetapkan dalam pertanyaan Anda? Manusia terkenal buruk dalam menghasilkan keacakan; dulu ada situs web yang akan Anda coba untuk menghasilkan koin membalik dengan "secara acak" mengetik H, T, T, H, H, T, T, dll, seolah-olah Anda membalik koin (tetapi Anda melakukannya di kepalamu). Setelah beberapa saat, situs web akan mulai memprediksi flips Anda lebih baik dari 50% dari waktu (menggunakan Model Markov Tersembunyi). Kami hanya buruk dalam hal ini.
Ada beberapa cara untuk memperbaiki situasi dengan menggunakan berbagai teknik pencampuran yang mungkin bisa dilakukan di kepala Anda. Dan bahkan ada aplikasi yang bisa saya impikan untuk mengapa Anda menginginkan ini (tahanan politik ingin mengenkripsi pesan ke sekutu luar). Tapi saya rasa posting ini cukup panjang. :)