Giriş :
Çarpışma sorunu çoğunlukla Scott Aaronson tarafından doktora tezinde açıklanan 2'ye 1 versiyonuna atıfta bulunur . Göz önüne alındığında bile ve bir fonksiyon f : { 1 , . . . , N } → { 1 , . . . , n } önceden f'nin 1'e 1 veya 2'ye 1 olduğunu biliyoruz . Herhangi bir i ∈ { 1 , 2 , için yalnızca f ( i ) değeri hakkında sorgulama yapmamıza izin verilir.nf: { 1 , . . . , N } → { 1 , . . . , n }ff( i ) . Sorun daha sonra f'nin 1'e 1 veya 2'ye 1olup olmadığını kesin olarak belirlemek için kaç sorgu yapmamız gerektiğini sorar.i ∈ { 1 , 2 , . . . , n }f
2'den 1'e sürümünü kararlı bir şekilde çözmek için sorgusu gerekir ve genel olarak r-1 işlevlerini 1'e 1 işlevlerinden ayırmak için n / r + 1 sorguları gerekir.n / 2 + 1n / r + 1
Deterministik klasik çözüm :
Bu, güvercin deliği prensibinin basit bir uygulamasıdır: eğer bir fonksiyon r-1'e ise, sorgularından sonra bir çarpışma bulmamız garanti edilir. Bir işlev 1'e 1 ise, çarpışma olmaz. Şanssızsak, n / r sorguları farklı yanıtlar verebilir. Bu yüzden n / r + 1 sorguları gereklidir.n / r + 1n / rn / r + 1
Rasgele klasik çözüm :
Rasgeleliğe izin verirsek, sorun daha kolaydır. Doğum günü paradoks olarak, eğer biz (ayrı) sorguları rastgele sonra yüksek olasılıkla biz sonra herhangi sabit 2-to-1 fonksiyonunda bir çarpışma bulmak seçim
sorgular.Θ ( n--√)
Kuantum BHT çözümü :
Sezgisel olarak, algoritma
(klasik) rasgelelik kullanarak doğum günü paradoksundan karekök hızlandırmasını Grover'ın (kuantum) algoritmasından kare kök hızlandırması ile birleştirir.
n1 / 3ffffn2 / 3fO(n2/3−−−−√)=O(n1/3)f