Implementasi algoritma oracle of Grover pada IBM Q menggunakan tiga qubit

10

Saya mencoba membiasakan diri dengan IBM Q dengan menerapkan tiga algoritma qubit Grover tetapi mengalami kesulitan untuk mengimplementasikan oracle.

Bisakah Anda menunjukkan cara melakukan itu atau menyarankan beberapa sumber daya yang baik untuk membiasakan diri dengan pemrograman rangkaian Q IBM?

Yang ingin saya lakukan adalah menandai satu negara yang berubah-ubah dengan membalik tandanya seperti yang seharusnya dilakukan oracle.

Sebagai contoh, saya punya

.1/8(|000+|001+|010+|011+|100+|101+|110+|111)

dan saya ingin menandai dengan membalik tanda untuk - | 111 . Saya entah bagaimana mengerti bahwa gerbang CCZ akan menyelesaikan masalah tetapi kami tidak memiliki gerbang CCZ di IBM Q. Kombinasi dari beberapa gerbang akan bertindak sama dengan CCZ tetapi saya belum yakin bagaimana melakukannya. Dan saya juga berjuang untuk kasus-kasus lain tidak hanya untuk | 111 .|111-|111|111

Dua kasus qubit cukup sederhana untuk saya terapkan, tetapi tiga perawatan qubit masih membingungkan bagi saya.

Bick
sumber
1
Dokumentasi mereka mencakup beberapa contoh algoritma Grover, meskipun saya tidak ingat seberapa besar ruang pencarian itu.
Norrius
Terima kasih atas komentarnya. Ya, halaman ini ( quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/… ) menjelaskan dua algoritma qubits yang diterapkan Grover.
Bick

Jawaban:

4

Saya menjawab pertanyaan saya. Setelah beberapa pencarian google, saya menemukan gambar ini menunjukkan gerbang CCZ oleh CNOT, T belati, dan gerbang T. Saya mencoba ini pada IBM Q dan berhasil. Saya ingin mengeksplorasi mengapa ini berhasil tetapi itu adalah cerita lain.

Untuk seseorang yang tertarik, inilah rangkaian kuantum saya dari algoritma Grover yang menemukan | 111> dengan satu iterasi.

Algoritma Grover menemukan | 111> dengan satu iterasi

Bick
sumber
1
Anda ingin mencari sirkuit standar untuk gerbang NOT-terkontrol-terkontrol (juga disebut Toffoli). Gambar 4.9 dalam versi Nielsen & Chuang saya. Untuk mengubahnya menjadi gerbang fase terkendali-terkontrol, cukup tempel Hadamard pada target qubit sebelum dan sesudah (atau, jika Hadamard sudah ada di kedua ujungnya, lepas saja).
DaftWullie
0

Saya menerapkan masalah yang sama untuk beberapa qubit menggunakan qiskit di sini .

...|111

Secara umum, idenya adalah untuk mensimulasikan gerbang CCZ menggunakan Hadamard pada bit target diikuti oleh gerbang CCX dan kemudian Hadamard lain pada bit target.

tigerjack89
sumber