Objek Random dalam kerangka .NET mengambil bilangan bulat 32 bit sebagai benih. Ini berarti algoritma pengacakan apa pun yang menggunakan objek Random dibatasi (paling banyak) 4 miliar kemungkinan pengacakan (dengan asumsi pengacakan bersifat deterministik sesuai dengan urutan acak, yang saya tidak dapat membayangkan mengapa hal itu tidak terjadi). Artinya, jika koleksi melebihi 13 elemen, maka dijamin pengacakan tidak akan mencakup semua kemungkinan permutasi. Ketika ukuran koleksi semakin jauh dari ukuran ini, subkumpulan kemungkinan permutasi yang dicakup oleh pengocokan menjadi semakin tidak signifikan.
4 miliar adalah angka (secara subyektif) besar, tetapi jika Anda membuat beberapa permutasi "acak" dari suatu koleksi, kemungkinan duplikat menjadi jauh lebih besar dari yang seharusnya (terutama jika Anda mempertimbangkan paradoks ulang tahun/prinsip lubang merpati).
Apakah ada cara sederhana untuk mengatasi hal ini yang tidak melibatkan saya menerapkan generator nomor acak saya sendiri?