Dize uzunluğu ve olası karakterlere dayalı basit kombinasyon / olasılık sorusu


9

"Tam rastgelelik" varsayıldığında ve her bir karakterin 62 olası karakterden biri olabileceği 20 karakter uzunluğunda bir dize verildi:

  • Toplam olası kombinasyon sayısı nedir? (20'yi 62'nin gücüne tahmin etmek.)
  • Ayrıca, yeni dizeler birbiri ardına rastgele seçilir ve şimdiye kadar seçilen dizeler listesine eklenirse, önceden seçili bir dizeyi seçme şansı için kaç dizenin seçilmesi gerektiğinin 100'ü 1'de 100000'in (105)?

Not: 62 şu rakamlardan gelir: sayısal rakamlar (0-9), büyük harfler (AZ) ve küçük harfler (az).


2
İkinci madde işaret noktanız (en azından) iki olası yolla okunabilir. Hangisiyle ilgilendiğinizi merak ediyorum. ( 1 )ndize önceki dizelerden biriyle eşleşir veya ( 2 )ndize seçiliyse , şimdiye kadar çizilen dize koleksiyonunda bazı kopyalar vardır. Bu iki sorunun cevabı çok farklı olacaktır . :)
kardinal

1
Belki de iki karakterli bir alfabe düşünmek farkı açıklığa kavuşturacaktır. Harfler olsunH ve T. Biz sorabiliriz: ( 1 ) Ne içinn en az% 99 şansımız var mı nth dize önceki bir dize yinelenen? n Burada 8 var çünkü başarısız olmamızın tek yolu dizimiz TTTTH veya HHHHTToplam olasılıklı 2(n1). Veya ( 2 )nen az% 99 oranında yinelenen görme şansımız var mı? Bu durumdan=3 o zamana kadar üç tel gördük H veya Ten az bir kez tekrarlandı.
kardinal

1
Matt'in cevapları ( 1 ) 'dir. Ancak, diğer iki kişinin dizeleri de potansiyel olarak eşleşiyorsa endişe ediyorsanız , o zaman ilgilenirsiniz ( 2 ). Bu, diğerlerini karşılaştırdığınız belirli bir ilgi dizeniz olup olmadığı veya tüm dizeleri birbiriyle karşılaştırıp karşılaştırmamanızdır. Yine de bunu daha açık hale getirip getirmediğimden emin değilim. (Senin sorunun ünlü sözde "doğum günü sorunu" iki varyant biri kaynar.)
kardinal

1
Kardinal, her zamanki gibi doğrudur. Tahminlerin bir listesini oluşturduğunuz bir "hedef" dizeniz olduğunu varsaydım. Bunun yerine, rastgele dizeler oluşturuyorsanız ve herhangi iki dizeyle eşleşmeden önce oluşturmanın güvenli olduğu sayıyı bilmek istiyorsanız, yanıt gerçekten çok farklıdır. Cevabımı bu davaya cevap vermek için değiştireceğim, eğer senin için uygunsa.
Matt Krause

1
Önceki örneğimi tamamen netleştirmedim. Bunun için üzgünüm. İki harfli bir alfabe düşünüyordum{H,T}ve bir uzunluktaki çizim dizeleri . Bu yüzden yazdığımdaHHHHT, bu durdu s1=H, s2=H, ..., sn1=H, sn=T.
kardinal

Yanıtlar:


11

Toplam olasılık sayısı

1) Kapat! İlk karakter için 62, 2. karakter için 62 seçeneğiniz var.62626262=6220saçma bir sayıdır.

"Hedef" Dizeyle Çarpışma

2) Yukarıda belirlediğimiz gibi, 6220potansiyel dizeler. "Hedef" dizesini tahmin etmek için 100.000 olasılıktan 1'den daha iyi olması için kaç tane tahmin etmeniz gerektiğini bilmek istersiniz. Esasen,

x62201105
Anlaşmak için x'i yuvarlamanız (veya tam olarak eşit olmaları durumunda bir tane eklemeniz) gerekir, ancak bir saniyede göreceğiniz gibi, gerçekten önemli değil.

Temel cebir sayesinde,

105x6220105x(6.210)20105x6.2201020x6.2201015

Matematiği yapmak, 6.220 hakkında 71015, hadi her şeye diyelim 71030 ya da daha özlü bir şekilde, çok şey var.

Bu, elbette, uzun parolaların neden iyi çalıştığını :-) Gerçek parolalar için, elbette, yirmiye eşit veya daha az uzunluktaki dizeler hakkında endişelenmeniz gerekir, bu da olasılıkların sayısını daha da artırır.

Listedeki kopyalar

Şimdi diğer senaryoyu ele alalım. Dizeler rastgele oluşturulur ve iki dizenin eşleşmesi için 1: 100.000 şansı bulunmadan önce kaç tane oluşturulabileceğini belirlemek isteriz. Bu sorunun klasik versiyonuna Doğum Günü Sorunu (veya 'Paradoks') denir ve n kişiden ikisinin aynı doğum gününe sahip olma olasılığının ne olduğunu sorar. Vikipedi makalesi [1] iyi görünüyor ve faydalı bulabileceğiniz bazı tablolar var. Yine de, burada da cevap için lezzet vermeye çalışacağım.

Akılda tutulması gereken bazı şeyler:

-Bir maçın ve maç olmamasının olasılığı 1'e kadar olmalıdır, bu yüzden P(match)=1P(no match) ve tam tersi.

-İki bağımsız etkinlik için A ve B, olasılığı P(A&B)=P(A)P(B).

Cevabı almak için, sabit sayıda dizeyle eşleşme görmeme olasılığını hesaplayarak başlayacağız k. Bunu nasıl yapacağımızı öğrendikten sonra, bu denklemi eşik değerine (1 / 100.000) eşit olarak ayarlayabilir vek. Kolaylık sağlamak için arayalımN olası dizelerin sayısı (6220).

Listede 'yürüyeceğiz' ve k^ {th} dizesi, listedeki "yukarıda" dizelerden herhangi biriyle eşleşir. İlk dizi için,N Toplam dizeler ve listede hiçbir şey yok, yani Pk=1(no match)=NN=1. İkinci dize için hala varN toplam olasılıklar, ancak bunlardan biri ilk dize tarafından "kullanıldı", bu nedenle bu dize için bir eşleşme olasılığı Pk=2(no match)=N1N Üçüncü dize için, bir eşleşme için iki yol vardır ve bu nedenle N2 yapmamak için yollar Pk=3(no match)=N2Nve bunun gibi. Genel olarak,kdiğerleriyle uyuşmayan dize

Pk(no match)=Nk+1N

Ancak, herhangi biri arasında eşleşme olmaması kTeller. Tüm olaylar bağımsız olduğundan (soru başına), bu olasılıkları birlikte çoğaltabiliriz, şöyle:

P(No Matches)=NNN1NN2NNk+1N
Bu biraz basitleştirilebilir:
P(No Matches)=N(N1)(N2)(Nk+1)NkP(No Matches)=N!Nk(Nk)!P(No Matches)=k!(Nk)Nk
İlk adım kesirleri birlikte çarpar, ikincisi faktöriyel (k!=(k)(k1)(k2)1) ürünlerini değiştirmek için Nk+1Nbiraz daha yönetilebilir bir şeyle ve son adım bir binom katsayısında değişiyor. Bu bize, oluşturduktan sonra hiç eşleşme olmaması olasılığı için bir denklem verir.kTeller. Teorik olarak,1100,000 ve çözmek k. Pratikte, çok sayıda ile çarpacağınız / böleceğiniz için bir cevap vermek zor olacak - faktöriyeller gerçekten hızlı büyüyor (100! 150 basamaktan uzun).

Bununla birlikte, hem faktöriyeli hesaplamak hem de tüm problem için yaklaşımlar vardır. Bu makale [2]

k=0.5+0.252Nln(p)
burada p bir eşleşme görmeme olasılığıdır. Testleri azamiN=48,000, ama yine de oldukça doğru. Numaralarınızı taktığınızda, yaklaşık olarak3.71015.

Referanslar

[1] http://en.wikipedia.org/wiki/Birthday_problem

[2] Mathis, Frank H. (Haziran 1991). "Genelleştirilmiş Doğum Günü Sorunu". SIAM Dergisi (Endüstriyel ve Uygulamalı Matematik Topluluğu) 33 (2): 265-270. JSTOR Bağlantısı


+1 Başar, zayıf matematik becerilerimin açıkça sorulmasıyla sonuçlandı, bu yüzden soruyu bir gün boyunca cevapsız bırakacağım, ama bana iyi görünüyor ve beklediğimden çok daha net bir cevap - teşekkür ederim!
gaflar

1
Yardımcı olduğuma sevindim! Belirsiz bir şey olup olmadığını bana bildirin. Tekmeler için sayıları çalıştırdım. 7044234255469980229683302646164 tahminlerine ihtiyacınız olacak; dediğim gibi - çok!
Matt Krause

+ 1 @Matt Krause: Cevabın altındaki yorumunuza +1; cevabınız ve mümkün olan en iyi cevabı vermeye olan bağlılığınız örnek niteliğindedir, dikkate değerdir ve tüm sıkı çalışmalarınız için teşekkür ederiz!
Blunders
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.