Penerangan algoritma Grover
Dalam bahagian ini, kita akan menerangkan algoritma Grover. Kita akan mulakan dengan membincangkan gate pertanyaan fasa dan cara membinanya, diikuti dengan penerangan algoritma Grover itu sendiri. Akhirnya, kita akan membincangkan secara ringkas bagaimana algoritma ini secara semulajadi digunakan untuk pencarian.
Gate pertanyaan fasaβ
Algoritma Grover menggunakan operasi yang dikenali sebagai gate pertanyaan fasa. Berbeza dengan gate pertanyaan biasa yang ditakrifkan untuk fungsi yang diberikan dengan cara biasa yang telah diterangkan sebelum ini, gate pertanyaan fasa untuk fungsi ditakrifkan sebagai
untuk setiap rentetan
Operasi boleh dilaksanakan menggunakan satu gate pertanyaan seperti yang dicadangkan oleh rajah ini:
Pelaksanaan ini menggunakan fenomena tendangan fasa, dan memerlukan satu Qubit ruang kerja yang diinisialisasi kepada keadaan tersedia. Qubit ini kekal dalam keadaan selepas pelaksanaan selesai, dan boleh digunakan semula (untuk melaksanakan gate berikutnya, misalnya) atau hanya dibuang.
Selain operasi kita juga akan menggunakan gate pertanyaan fasa untuk fungsi OR -bit, yang ditakrifkan seperti berikut untuk setiap rentetan
Secara eksplisit, gate pertanyaan fasa untuk fungsi OR -bit beroperasi seperti ini:
Untuk jelaskan, inilah cara beroperasi pada keadaan asas standard; tingkah lakunya pada keadaan sewenang-wenangnya ditentukan daripada ungkapan ini melalui kelelurusan.
Operasi boleh dilaksanakan sebagai litar kuantum dengan memulakan dengan litar Boolean untuk fungsi OR, kemudian membina operasi (iaitu gate pertanyaan standard untuk fungsi OR -bit) menggunakan prosedur yang diterangkan dalam pelajaran Asas algoritmik kuantum, dan akhirnya operasi menggunakan fenomena tendangan fasa seperti yang diterangkan di atas. Perhatikan bahawa operasi tidak bergantung pada fungsi dan oleh itu boleh dilaksanakan oleh litar kuantum tanpa gate pertanyaan.
Penerangan algoritmaβ
Sekarang kita sudah mempunyai kedua-dua operasi dan kita boleh menerangkan algoritma Grover.
Algoritma ini merujuk kepada nombor iaitu bilangan lelaran yang dilakukan (dan oleh itu bilangan pertanyaan kepada fungsi yang diperlukan). Nombor ini tidak ditetapkan oleh algoritma Grover seperti yang kita terangkan di sini, dan kita akan membincangkan kemudian dalam pelajaran ini bagaimana ia boleh dipilih.
Operasi yang diulang dalam langkah 2 akan dipanggil operasi Grover sepanjang baki pelajaran ini. Berikut ialah representasi litar kuantum bagi operasi Grover apabila
Dalam rajah ini, operasi digambarkan lebih besar daripada sebagai petunjuk visual tidak formal untuk mencadangkan bahawa ia kemungkinan besar merupakan operasi yang lebih mahal. Khususnya, apabila kita bekerja dalam model pertanyaan, memerlukan satu pertanyaan manakala tidak memerlukan sebarang pertanyaan. Sebaliknya, jika kita mempunyai litar Boolean untuk fungsi dan kemudian menukarnya kepada litar kuantum untuk kita boleh menjangka bahawa litar kuantum yang terhasil akan lebih besar dan lebih rumit berbanding litar untuk
Berikut ialah rajah litar kuantum untuk keseluruhan algoritma apabila dan Untuk nilai yang lebih besar, kita boleh memasukkan contoh tambahan operasi Grover tepat sebelum pengukuran.
Aplikasi untuk pencarianβ
Algoritma Grover boleh digunakan untuk masalah Carian seperti berikut:
- Pilih nombor dalam langkah 2. (Ini dibincangkan kemudian dalam pelajaran.)
- Jalankan algoritma Grover pada fungsi menggunakan pilihan yang kita buat untuk untuk mendapatkan rentetan
- Tanya fungsi pada rentetan untuk melihat sama ada ia adalah penyelesaian yang sah:
- Jika maka kita telah menemui penyelesaian, jadi kita boleh berhenti dan mengeluarkan
- Jika tidak, jika maka kita boleh sama ada menjalankan prosedur sekali lagi, mungkin dengan pilihan yang berbeza untuk atau kita boleh memutuskan untuk berhenti dan mengeluarkan "tiada penyelesaian."
Setelah kita menganalisis cara algoritma Grover berfungsi, kita akan lihat bahawa dengan mengambil kita mendapat penyelesaian kepada masalah pencarian kita (jika ada) dengan kebarangkalian yang tinggi.