세 큐빗을 사용하여 IBM Q에서 Grover 알고리즘의 오라클 구현


10

3 qubits Grover의 알고리즘을 구현하여 Oracle Q에 익숙해 지려고하지만 Oracle을 구현하기가 어렵습니다.

이를 수행하는 방법을 보여 주거나 IBM Q 회로 프로그래밍에 익숙해지기위한 좋은 자료를 제안 할 수 있습니까?

내가하고 싶은 것은 오라클이해야 할 것으로 기호를 뒤집어 임의의 상태를 표시하는 것입니다.

예를 들어

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

그리고 표시하고 싶습니다 에 그 기호를 뒤집기로 - | 111 . CCZ 게이트는 문제를 해결할 수 있지만 IBM Q에는 CCZ 게이트가 없습니다. 일부 게이트의 조합은 CCZ와 동일하게 작동하지만 아직 그 방법을 잘 모르겠습니다. 그리고 나는 또한 다른 경우뿐만 아니라 | 111 .|111|111|111

2 큐 비트 사례는 구현하기에 충분히 간단하지만 3 큐 비트 관리는 여전히 혼란 스럽습니다.


1
검색 공간이 얼마나 큰지 기억하지는 않지만 그 문서에는 Grover 알고리즘의 몇 가지 예가 포함되어 있습니다.
Norrius

의견 주셔서 감사합니다. 예,이 페이지 ( quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/… )는 두 qubits Grover의 알고리즘 구현을 설명합니다.
Bick

답변:


4

내 질문에 대답하고 있습니다. Google 검색 후 CNOT, T dagger 및 T gate의 CCZ gate를 보여주는 이미지 를 찾았습니다 . 나는 이것을 IBM Q에서 시도해 보았습니다. 왜 그것이 효과가 있는지 탐구하고 싶지만 또 다른 이야기입니다.

관심있는 누군가를 위해, 여기에 1 회 반복하여 Grover 알고리즘을 찾는 양자 회로가 있습니다.

한 번의 반복으로 Grover의 알고리즘 찾기 | 111>


1
제어 제어 NOT 게이트 (Toffoli라고도 함)의 표준 회로를 찾고 싶습니다. 내 버전의 Nielsen & Chuang에서 그림 4.9입니다. 제어 된 제어 위상 게이트로 변환하려면 전후에 대상 큐 비트에하다 마드를 붙이십시오 (또는 이미 한쪽 끝에하다 마드가있는 경우 제거하십시오).
DaftWullie 2016 년

0

나는 qiskit을 사용하여 여러 큐 비트에 대해 동일한 문제를 구현 여기 .

...|111

일반적으로 아이디어는 CCX 게이트 다음에 타겟 비트에서 Hadamard를 사용하고 타겟 비트에서 다른 Hadamard를 사용하여 CCZ 게이트를 시뮬레이션하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.