50.000 rastgele 7 basamaklı onaltılık dizi nasıl çarpışmadı?

Katılım
22 Eylül 2022
Mesajlar
7
Excel Vers. ve Dili
english
UUID kullanarak çok sayıda UUID üreten bir kodla karşılaştım. RandomUUID() işlevi, bir veritabanına girdiler girmek için anahtar olarak her birinin son 7 hanesini kullanır (UUID'nin mevcut sürümleri entropi açısından eşit olarak dağıtılır).

Kaza olasılığını merak ettim. Aklıma Doğum Günü Sorunu geldi. Bu sorunun bir örneği değil mi? Bir yılda 365 gün yerine 167 potansiyel dizi vardır. Bu Wikipedia sayfasına göre, verilen n dizide çarpışma şansı


Buraya resim için bir açıklama girin. d eşittir 167.

Bir iş arkadaşı zorlanmadan 50.000 satır ekleyebileceklerini söyledi. n=50.000 ve d=167 ile çarpışma olasılığı yüksek olduğu için bunu sorguladım.
Kod:
1-((16^7-1)/16^7)^(50000*(50000-1)/2) = 99.05%
Ama sonra veritabanımıza baktım. 50.000 ekleme başarılı oldu. Bu nasıl olabildi? (Onun dışında gerçekten şanslıydılar.) Doğum Günü Problemi yanlış mı uygulanıyor?

Bu gönderiyi buldum ve UUID kullanan küçük bir kod örneği yazmaya çalışmamı tavsiye etti. 50.000 7 basamaklı kimlik oluşturmak için randomUUID() kullanın.
Çalışmazsa önerilen çözüm nedir?
 
Üst