Saya telah mencoba untuk memahami apa yang bisa menjadi keuntungan menggunakan algoritma Grover untuk mencari di database D (kunci, nilai) yang sewenang-wenang dengan nilai-nilai N daripada pencarian klasik.
Saya berasumsi bahwa fungsi oracle adalah fungsi f (key) = y, di mana y adalah indeks dari nilai yang sesuai dalam database klasik.
Masalah saya terkait dengan oracle. Sirkuit oracle harus dimodifikasi untuk setiap pencarian dilakukan dalam database karena kunci ditentukan dalam oracle. Mari kita asumsikan ini adalah operasi yang diabaikan untuk kesederhanaan.
Andaikata sirkuit oracle harus dihitung secara klasik, maka akan diperlukan untuk menghasilkan sirkuit yang berperilaku seperti fungsi f (kunci) = y. Fungsi ini akan diperoleh setidaknya dalam langkah O (N) (kecuali untuk beberapa kasus khusus). Sirkuit fungsi oracle harus dihitung ulang setiap kali entri database sedang dimodifikasi / ditambahkan / dihapus, dengan biaya O (N).
Banyak makalah seperti Implementasi Algoritma Quantum untuk Pemula , Algoritma Quantum untuk Pencocokan dan Aliran Jaringan tampaknya tidak mempertimbangkan oracle sama sekali.
Saya tidak tahu apakah saya harus mempertimbangkan database kuantum untuk mendapatkan keuntungan nyata atau tidak ( ini dan hasil kuantum yang tidak dapat diandalkan meyakinkan saya bukanlah ide yang sangat bagus, tetapi itu hanya dugaan).
Jadi, di mana dianggap kompleksitas untuk membangun oracle? Apakah saya salah mengerti sesuatu?
Apakah "Rangkaian fungsi oracle harus dihitung ulang setiap kali entri database sedang dimodifikasi / ditambahkan / dihapus, dengan biaya O (N)" asumsi yang salah?