Triển khai lời tiên tri của thuật toán Grover trên IBM Q bằng cách sử dụng ba qubit


10

Tôi đang cố gắng làm quen với IBM Q bằng cách triển khai ba thuật toán của Grover nhưng gặp khó khăn khi thực hiện lời tiên tri.

Bạn có thể chỉ cho bạn cách làm điều đó hoặc đề xuất một số tài nguyên tốt để làm quen với lập trình mạch Q của IBM không?

Những gì tôi muốn làm là đánh dấu một trạng thái tùy ý bằng cách lật dấu hiệu của nó là lời tiên tri phải làm.

Ví dụ, tôi có

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

và tôi muốn đánh dấu bằng cách lật dấu hiệu của nó để - | 111 . Tôi bằng cách nào đó hiểu rằng cổng CCZ sẽ giải quyết vấn đề nhưng chúng tôi không có cổng CCZ trong IBM Q. Sự kết hợp của một số cổng sẽ hoạt động giống như CCZ nhưng tôi không chắc làm thế nào để làm điều đó. Và tôi cũng đang đấu tranh cho các trường hợp khác không chỉ cho | 111 .|111-|111|111

Trường hợp hai qubit là đủ đơn giản để tôi thực hiện, nhưng chăm sóc ba qubit vẫn còn gây nhầm lẫn với tôi.


1
Tài liệu của họ bao gồm một số ví dụ về thuật toán của Grover, mặc dù tôi không nhớ không gian tìm kiếm lớn như thế nào.
Norrius

Cảm ơn các bình luận. Có, trang này ( quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/ mẹo ) giải thích hai cách thực hiện thuật toán của Grover.
Bick

Câu trả lời:


4

Tôi đang trả lời câu hỏi của tôi. Sau một số tìm kiếm trên google, tôi thấy hình ảnh này hiển thị cổng CCZ bằng CNOT, dao găm T và cổng T. Tôi đã thử điều này trên IBM Q và nó đã hoạt động. Tôi muốn khám phá lý do tại sao nó hoạt động nhưng đó là một câu chuyện khác.

Đối với một người quan tâm, đây là mạch lượng tử tìm kiếm thuật toán của Grover | 111> với một lần lặp.

Tìm kiếm thuật toán của Grover | 111> với một lần lặp


1
Bạn muốn tìm kiếm các mạch tiêu chuẩn cho cổng KHÔNG được kiểm soát có kiểm soát (còn được gọi là Toffoli). Đó là hình 4.9 trong phiên bản Nielsen & Chuang của tôi. Để chuyển đổi thành cổng pha được điều khiển có kiểm soát, chỉ cần dán Hadamard vào qubit mục tiêu cả trước và sau (hoặc, nếu đã có Hadamards ở hai đầu, chỉ cần loại bỏ chúng).
DaftWullie

0

Tôi đã thực hiện cùng một vấn đề cho nhiều qubit bằng cách sử dụng qiskit tại đây .

...|111

Nói chung, ý tưởng là mô phỏng một cổng CCZ bằng Hadamard trên bit đích theo sau là cổng CCX và sau đó là một Hadamard khác trên bit đích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.