Jumlah total kemungkinan
1) Tutup! Anda punya 62 pilihan untuk karakter pertama, 62 untuk ke-2, dll, jadi Anda berakhir dengan , yang merupakan angka yang sangat besar.62⋅62⋅62⋅⋯62=6220
Tabrakan dengan String "Target"
2) Seperti yang kami tegaskan di atas, ada string potensial. Anda ingin tahu berapa banyak yang harus Anda tebak untuk memiliki peluang lebih dari 1 dalam 100.000 untuk menebak string "target". Pada dasarnya, Anda bertanya apa x6220 Untuk membuatnya tepat, Anda harus mengumpulkan x (atau menambahkan satu, jika mereka sama persis), tetapi seperti yang akan Anda lihat dalam hitungan detik, itu tidak masalah.
x6220≥1105
Melalui aljabar dasar, kita dapat mengaturnya kembali menjadi
105x105x105xx≥6220≥(6.2⋅10)20≥ 6.220⋅ 1020≥ 6.220⋅ 1015
Melakukan matematika, adalah sekitar 7 ⋅ 10 15 , jadi mari kita sebut semuanya 7 ⋅ 10 30 atau, lebih ringkasnya, banyak sekali.6.2207 ⋅ 10157 ⋅ 1030
Ini, tentu saja, mengapa kata sandi panjang bekerja dengan sangat baik :-) Untuk kata sandi asli, tentu saja, Anda harus khawatir tentang untaian yang panjangnya kurang dari atau sama dengan dua puluh, yang meningkatkan jumlah kemungkinan lebih banyak lagi.
Duplikat dalam daftar
Sekarang, mari kita pertimbangkan skenario lainnya. String dihasilkan secara acak dan kami ingin menentukan berapa banyak yang dapat dihasilkan sebelum ada peluang 1: 100.000 dari dua string yang cocok. Versi klasik dari masalah ini disebut Masalah Ulang Tahun (atau 'Paradox') dan menanyakan berapa kemungkinan bahwa dua orang memiliki ulang tahun yang sama. Artikel wikipedia [1] terlihat bagus dan memiliki beberapa tabel yang mungkin berguna bagi Anda. Namun demikian, saya akan mencoba memberi Anda rasa untuk jawabannya di sini juga.
Beberapa hal yang perlu diingat:
-Kemungkinan kecocokan dan tidak memiliki kecocokan harus berjumlah 1, jadi dan sebaliknya.P( cocok ) = 1 - P( tidak cocok )
-Untuk dua peristiwa independen dan B , probabilitas P ( A & B ) = P ( A ) ⋅ P ( B ) .SEBUAHBP( A & B ) = P( A ) ⋅ P( B )
Untuk mendapatkan jawabannya, kita akan mulai dengan menghitung probabilitas tidak melihat kecocokan untuk sejumlah string . Setelah kita tahu bagaimana melakukan itu, kita dapat menetapkan persamaan itu sama dengan ambang (1 / 100.000) dan menyelesaikannya untuk k . Untuk kenyamanan, sebut saja N jumlah string yang mungkin ( 62 20 ).kkN6220
Kita akan 'berjalan' ke bawah daftar dan menghitung probabilitas bahwa string ^ {th} cocok dengan salah satu string "di atas" dalam daftar. Untuk string pertama, kami memiliki N total string dan tidak ada dalam daftar, jadi P k = 1 ( tidak cocok ) = NkN. Untuk string kedua, masih adakemungkinan totalN, tetapi salah satu dari mereka telah "habis" oleh string pertama, sehingga probabilitas kecocokan untuk string ini adalahPk=2(tidak cocok)=N-1Pk = 1( tidak cocok ) = NN= 1N Untuk string ketiga, ada dua cara untuk itu kecocokan dan oleh karena ituN-2cara untuk tidak, jadiPk=3(tidak cocok)=N-2Pk = 2( tidak cocok ) = N- 1NN- 2 dan seterusnya. Secara umum, probabilitasstringktidak cocok dengan yang lain adalahPk(tidak cocok)=N-k+1Pk = 3( tidak cocok ) = N- 2Nk
Pk( tidak cocok ) = N- k + 1N
k
P( Tidak Ada Kecocokan ) = NN⋅ N- 1N⋅ N- 2N⋯ N- k + 1N
P( Tidak Ada Yang Cocok )P( Tidak Ada Yang Cocok )P( Tidak Ada Yang Cocok )= N⋅ ( N- 1 ) ⋅ ( N- 2 ) ⋯ ( N- k + 1 )Nk= N!Nk⋅ ( N- k ) != k ! ⋅ ( Nk)Nk
k ! = ( k ) ⋅ ( k - 1 ) ⋅ ( k - 2 ) ⋯ 1N- k + 1 ⋯ Nk1100 , 000k100 !
k = 0,5 + 0,25 - 2 Ndalam( p )------------√
N= 48 , 0003,7 ⋅ 1015
Referensi
[1] http://en.wikipedia.org/wiki/Birthday_problem
[2] Mathis, Frank H. (Juni 1991). "Masalah Ulang Tahun yang Disamaratakan". Ulasan SIAM (Masyarakat untuk Industri dan Matematika Terapan) 33 (2): 265-270. Tautan JSTOR