온 그로버의 알고리즘에 대한 위키 백과 페이지 , 그것은 언급한다 :
"Grover의 알고리즘을 사용하여 일련의 숫자의 평균 및 중앙값을 추정 할 수도 있습니다"
지금까지는 데이터베이스 검색 방법을 알고있었습니다. 그러나 숫자 집합의 평균과 중앙값을 추정하기 위해 해당 기술을 구현하는 방법을 잘 모릅니다. 또한 해당 페이지에는 기술을 설명하는 인용이 없습니다.
온 그로버의 알고리즘에 대한 위키 백과 페이지 , 그것은 언급한다 :
"Grover의 알고리즘을 사용하여 일련의 숫자의 평균 및 중앙값을 추정 할 수도 있습니다"
지금까지는 데이터베이스 검색 방법을 알고있었습니다. 그러나 숫자 집합의 평균과 중앙값을 추정하기 위해 해당 기술을 구현하는 방법을 잘 모릅니다. 또한 해당 페이지에는 기술을 설명하는 인용이 없습니다.
답변:
평균을 추정하는 아이디어는 대략 다음과 같습니다.
실수로 출력을 제공하는 모든 대해 0에서 1 범위의 출력을 제공 하는 리 스케일 된 를 정의합니다 . 우리는 의 평균을 추정하는 것을 목표로합니다 .
조작이 인 단일 를 정의하십시오이 통합은 쉽게 구현할 수 있습니다. 첫 번째 레지스터에서 Hadamard 변환으로 시작하고, ancilla 레지스터에서 계산을 수행하고 ,이를 사용하여 두 번째 레지스터의 제어 된 회전을 구현 한 다음 ancilla 레지스터를 계산 해제합니다.
단일 .
상태 에서 시작 하여 Grover 반복자를 사용하여 검색 문제에 대한 솔루션 수를 추정하는 것과 매우 유사한 방식으로 사용하십시오.
이 알고리즘의 주요 부분은 여기에 설명 된대로 진폭 증폭 입니다. 주요 아이디어는 두 가지 상태를 정의 할 수 있다는 것입니다. 그리고 이것은 진화를위한 부분 공간을 정의합니다. 초기 상태는 . 항의 진폭 에는 추정 할 수있는 경우 평균에 대한 정보가 명확하게 포함되어 있습니다 . 이 상태를 반복적으로 준비하고 을 얻을 확률을 측정 할 수 있습니다.
덧붙여서 이것은 DQC1이라고도하는 "하나의 클린 큐 비트의 힘"과 비교하면 흥미 롭습니다. 이, 당신이 적용 할 경우 에, 1 답변을 얻을 확률은 비가 속 버전과 동일하며 평균의 추정치를 제공합니다.
중간 들어,이 수 명백하게 값으로 정의되는 것을 최소화 여기에는 두 단계가 있습니다. 첫 번째는 우리가 최소화하려고하는 기능이 기본적으로 평균이라는 것을 인식하는 것입니다. 그런 다음 두 번째 단계는 Grover 검색으로 가속화 할 수 있는 최소화 알고리즘 을 사용하는 것 입니다. 여기서 아이디어는 Grover의 검색을 사용하고 함수 평가가 일부 임계 값 미만의 값을 제공하는 모든 항목을 표시하는 것 입니다. 를 제공 하는 입력 수를 추정 한 다음 최소값을 충분히 현지화 할 때까지 다른 대해 반복 하십시오.
물론 정확한 실행 시간, 오류 추정 등의 세부 정보를 건너 뜁니다.