Craig Gidney tarafından iyi açıklaması vardır burada (o da üzerinde, bir devre simülatörü dahil diğer mükemmel içerik vardır onun blog ).
Temel olarak, Grover'in algoritması True
, olası girişlerinden biri False
ve diğerleri için döndüren bir işleviniz olduğunda uygulanır . Algoritmanın işi dönen olanı bulmaktır True
.
Bunu yapmak için girişleri bit dizeleri olarak ifade ediyoruz ve bunları | 0⟩ ve |1 ⟩ bir bit dizisini belirtir Böylece bit dizesi 0011
dört qubit durumunda kodlanacak | 0011 ⟩ , örneğin.
Ayrıca, işlevi kuantum geçitlerini kullanarak da uygulayabilmemiz gerekir. Özellikle, üniter uygulayacak kapılarının dizisi bulmalıyız U böyle
U| Bir⟩=- | Bir⟩,U| b⟩= | b⟩
burada bir , işlevinin döneceği bit dizesidir True
ve b , onun döndüreceği işlevdir False
.
Her şeyi Hadamarding yapmak oldukça kolay olan mümkün olan tüm bit dizelerinin bir üst üste binmesiyle başlarsak, tüm girdiler aynı 1 genlikle başlar12n√ (n, aradığımız bit dizgilerinin uzunluğu ve bu nedenle kullandığımız bit sayısı). Fakat o zamanUkahinesini uygularsak,aradığımız devletin genliği- 12n√ .
Bu kolayca gözlemlenebilir bir fark değildir, bu yüzden onu büyütmemiz gerekir. Bunu yapmak için kullandığımız Grover Difüzyon Operatör , D . Bu operatörün etkisi esas olarak her genliğin ortalama genlikten ne kadar farklı olduğuna bakmak ve bu farkı tersine çevirmektir. Yani, eğer belirli bir genlik, ortalama genlikten belirli bir miktarda daha büyükse, ortalamadan daha az aynı miktarda olacaktır ve bunun tersi de geçerlidir.
Eğer bitin dizeleri bir süperpozisyonu varsa Özellikle, bj , difüzyon operatör etkiye sahiptir
D :Σjαj|bj⟩↦Σj( 2) μ-αj)|bj⟩
burada μ = ∑jαj olan ortalama genliği. Herhangi genliği Yani μ + δ dönüştü alır μ - δ . Neden bu etkiye sahip olduğunu ve nasıl uygulanacağını görmek için bu ders notlarına bakınız .
Genliklerin çoğu, ortalamanınkinden biraz daha büyük olacaktır (single'ın etkisinden dolayı - 12n√ ), bu yüzden bu işlem sayesinde ortalamanın biraz altında olacaklar. Büyük bir değişiklik değil.
Aradığımız devlet daha güçlü bir şekilde etkilenecek. Genliği ortalamanın çok altındadır ve bu nedenle difüzyon operatörü uygulandıktan sonra ortalama çok daha büyük olacaktır. Bu nedenle difüzyon operatörünün son etkisi, 1 genlik derecesini düşüren durumlar üzerinde girişim etkisine neden olmaktır.12n√Yanlış cevaplardan 2 n ve doğru olanı ekler. Bu işlemi tekrarlayarak, çözümümüzün kalabalığın arasından sıyrıldığı noktaya hızla varabiliriz.
Tabii ki, hepsi bu işin difüzyon operatörü tarafından yapıldığını gösteriyor. Arama yapmak, ona bağlanabileceğimiz bir uygulamadır.
Fonksiyonların ve difüzyon operatörünün nasıl uygulandığına dair detaylar için diğer soruların cevaplarına bakınız .