Grover'ın algoritması: Oracle'a ne girilecek?


9

Grover'ın algoritmasında Oracle'a ne girileceği konusunda kafam karıştı.

Üst üste binmiş kuantum durumlarına ek olarak, aradığımızı ve aradığımız şeyi Oracle'a nereden bulacağımız gerekmiyor mu?

Örneğin, insanların {"Alice", "Bob", "Corey", "Dio"} adlarının bir listesine sahip olduğumuzu ve "Dio" nun listede olup olmadığını bulmak istediğimizi varsayalım. Ardından, Oracle1/2(|00+|01+|10+|11) girdi ve çıktı olarak 1/2(|00+|01+|10-|11). Bunu biraz anlıyorum.

Ama ayrıca "Dio" kelimesini ve {"Alice", "Bob", "Corey", "Dio"} listesini Oracle'a girmemize gerek yok mu? Aksi takdirde, Oracle nasıl çıktı alabilir? Oracle bir kara kutu olduğundan ve bunun nasıl uygulanacağını düşünmemiz gerekmediğinden açıkça bahsedilmiyor mu?

Oracle hakkındaki anlayışım,

  • Oracle, "Dio" sözcüğünün listede olup olmadığını tanıma özelliğine sahiptir.
  • Bunu yapmak için Oracle, üst üste binmiş kuantum durumlarını girdi olarak alır; burada her kuantum durumu listenin dizinini temsil eder.
  • Yani, girdi |00 Oracle anlamına gelir, "Dio" kelimesinin listenin 0 dizininde olup olmadığını kontrol edin ve -|00 evet ise ve geri dön |00 aksi takdirde.
  • Bizim durumumuzda Oracle geri dönüyor 1/2(|00+|01+|10-|11).
  • Peki ya liste ve kelime?

1
Aynı şekilde ifade edilmese de, sorunuzun aşağıdakiyle aşağı yukarı aynı olduğuna inanıyorum: Grover'ın algoritması: liste nerede?
DaftWullie

Yanıtlar:


4

Her ne kadar Grover algoritmasının popüler açıklamaları bir liste üzerinde arama yapmaktan bahsetse de, aslında bir işlevi 0..N-1 olası girişleri aramak için kullanırsınız. Algoritmanın maliyetiÖ(N-F) nerede N- üzerinde arama yapmak istediğiniz giriş sayısı ve Fişlevi değerlendirmenin maliyetidir. Bu işlevin bir liste üzerinde arama yapmasını istiyorsanız, listeyi işleve sabit olarak kodlamanız gerekir.

Bir listesini kullanmak için fonksiyon sabit kodlama N- öğeler genellikle çok kötü bir fikir, çünkü neden olma eğilimi F eşit olmak Ö(N-). Hangi Grover algoritmasının toplam maliyeti olacakÖ(N-F)=Ö(N-N-)=Ö(N-1.5). Hangi amaçla tüm amacı yendi, çünküN-1.5>N-.


Aramayı daha hızlı yapan sıralı bir liste girmez misiniz ? Tabii ki, daha sonra listeyi sipariş etme maliyetini eklemek isteyebilirsiniz, ancak sanırım bu halaÖ(N-günlük(N-))Genel.
DaftWullie

@DaftWullie Sorun, Grover'ın süperpozisyon altında bir arama yapması gerektiğidir ve bu, N AND geçitleri (veya Clifford olmayan diğer işlemler) içeren bir çoklayıcı devre gerektirir. Bir kuantum AND geçidi (yani bir Toffoli) hata düzeltmesi yapılırken göz ardı edilemez bir maliyete sahiptir. Bu maliyet teknik olarak klasik makinede de mevcuttur (yani RAM'in O (N) VE kapıları vardır), bu bağlamda ihmal edilebilir ve hatta önlenebilir.
Craig Gidney

Ne dediğini anlamıyorum. Ayrıntıları göstermek için bir soruyu ifade edebilir ve cevaplayabilir misiniz? (Bu noktada yeterince iyi bir soru ifade edebileceğimi sanmıyorum)
DaftWullie

@DaftWullie Bence soru "klasik bir veritabanına kuantum bilgisayar okuma erişimi nasıl verebilirim ve ne kadar pahalı" gibi bir şey olacağını düşünüyorum.
Craig Gidney
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.