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, Oracle girdi ve çıktı olarak . 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 Oracle anlamına gelir, "Dio" kelimesinin listenin 0 dizininde olup olmadığını kontrol edin ve evet ise ve geri dön aksi takdirde.
- Bizim durumumuzda Oracle geri dönüyor .
- Peki ya liste ve kelime?