질문
Grover-Algorithm을 사용하여 정렬되지 않은 데이터베이스에서 요소를 검색하고 싶습니다 . 이제 질문이 발생하는데 어떻게 qubits로 데이터베이스의 인덱스와 값을 초기화합니까?
예
- 큐 비트 가 있다고 가정 해 봅시다 . 따라서 클래식 값을 매핑 할 수 있습니다.
- 정렬되지 않은 데이터베이스 에는 다음 요소가 있습니다. .
- 내가 검색 할 .
- 내 접근 방식 : d [ ( Index, Value ) ] = [ ( 0 , 3 ) , ( 1 , 2 ) , ( 2 , 0 ) , ( 3 , 1 ) ]으로 데이터베이스 를 인덱싱하십시오 . 레지스터 0 과 1 인덱스 레지스터에 대해 2 및 3 의 값에 대한. 그런 다음 Grover-Algorithm을 레지스터 2 와 3 에만 적용하십시오 ( Value . 이것이 실현 될 수 있습니까? 다른 접근법이 있습니까?
내가 이미 구현 한 것 ( GitHub에서 )
"2-, 3-, 4-Qubits가 포함 된 그루버 알고리즘"은 간단하지만 비트는 오라클 내 용액 마크 것이다 (다만 번호처럼 는 그로버 부는 상기 선택된 요소의 확률 증가) 다른 모든 확률이 감소하고 큐빗이 됨으로써 판독을 클래식 비트에 매핑됩니다. 우리는이 과정을 연속적으로 실행을 여러 번 할 수있어 가장 높은 확률은 우리의 추구 요소가 확률 분포, 얻을 수 .
출력은 항상 오라클에 표시된 것과 동일합니다. 오라클을 구축 할 당시에 알지 못한 출력에서 더 많은 정보를 어떻게 생성 할 수 있습니까?