Grover 알고리즘은 숫자 집합의 평균과 중앙값을 추정하는 데 어떻게 사용됩니까?


10

그로버의 알고리즘에 대한 위키 백과 페이지 , 그것은 언급한다 :

"Grover의 알고리즘을 사용하여 일련의 숫자의 평균 및 중앙값을 추정 할 수도 있습니다"

지금까지는 데이터베이스 검색 방법을 알고있었습니다. 그러나 숫자 집합의 평균과 중앙값을 추정하기 위해 해당 기술을 구현하는 방법을 잘 모릅니다. 또한 해당 페이지에는 기술을 설명하는 인용이 없습니다.


당신이 당신의 자신의 질문에 대답하기로 선택하거나 누구든지 스스로 과제를 수행하기로 선택한 경우,이 링크는 Grover의 알고리즘을 사용하여 Weirdo 함수의 평균 (일명 평균, 적분)을
찾는 방법

@agaitaarino 감사합니다. 나는 그것을 통해 볼 것입니다. 그건 그렇고, 여는 괄호 뒤에 공백을 남겼 기 때문에 주석이 링크로 올바르게 렌더링되지 않습니다. :)
Sanchayan Dutta

답변:


9

평균을 추정하는 아이디어는 대략 다음과 같습니다.

  • 실수로 출력을 제공하는 모든 대해 0에서 1 범위의 출력을 제공 하는 리 스케일 된 를 정의합니다 . 우리는 의 평균을 추정하는 것을 목표로합니다 .f(x)F(x)F(x)

  • 조작이 인 단일 를 정의하십시오이 통합은 쉽게 구현할 수 있습니다. 첫 번째 레지스터에서 Hadamard 변환으로 시작하고, ancilla 레지스터에서 계산을 수행하고 ,이를 사용하여 두 번째 레지스터의 제어 된 회전을 구현 한 다음 ancilla 레지스터를 계산 해제합니다.Ua

    Ua:|0|012n/2x|x(1F(x)|0+F(x)|1).
    f(x)
  • 단일 .G=Ua(I2|00||00|)UaIZ

  • 상태 에서 시작 하여 Grover 반복자를 사용하여 검색 문제에 대한 솔루션 수를 추정하는 것과 매우 유사한 방식으로 사용하십시오.Ua|0|0G

이 알고리즘의 주요 부분은 여기에 설명 된대로 진폭 증폭 입니다. 주요 아이디어는 두 가지 상태를 정의 할 수 있다는 것입니다. 그리고 이것은 진화를위한 부분 공간을 정의합니다. 초기 상태는 . 항의 진폭 에는 추정 할 수있는 경우 평균에 대한 정보가 명확하게 포함되어 있습니다 . 이 상태를 반복적으로 준비하고 을 얻을 확률을 측정 할 수 있습니다.

|ψ=1xF(x)xF(x)|x|1|ψ=1x1F(x)x1F(x)|x|0,
Ua|0|0=(xF(x)|ψ+x1F(x)|ψ)2n/2|ψF(x)|1두 번째 레지스터에서, 그러나 Grover의 검색은 2 차 개선을 제공합니다. 당신은 그로버의 보통 설정 방법, 이것의 크기에 비교하면 하는 당신이 할 수있는 '마크'(적용하여이 경우 ) 될 것 여기서 은 솔루션 수입니다.|ψIZm2nm

덧붙여서 이것은 DQC1이라고도하는 "하나의 클린 큐 비트의 힘"과 비교하면 흥미 롭습니다. 이, 당신이 적용 할 경우 에, 1 답변을 얻을 확률은 비가 속 버전과 동일하며 평균의 추정치를 제공합니다.UaI2n|00|


중간 들어,이 수 명백하게 값으로 정의되는 것을 최소화 여기에는 두 단계가 있습니다. 첫 번째는 우리가 최소화하려고하는 기능이 기본적으로 평균이라는 것을 인식하는 것입니다. 그런 다음 두 번째 단계는 Grover 검색으로 가속화 할 수 있는 최소화 알고리즘 을 사용하는 것 입니다. 여기서 아이디어는 Grover의 검색을 사용하고 함수 평가가 일부 임계 값 미만의 값을 제공하는 모든 항목을 표시하는 것 입니다. 를 제공 하는 입력 수를 추정 한 다음 최소값을 충분히 현지화 할 때까지 다른 대해 반복 하십시오.z

x|f(x)f(z)|.
Txf(x)TT

물론 정확한 실행 시간, 오류 추정 등의 세부 정보를 건너 뜁니다.


1 단계에서 재조정을 수행하기 전에 먼저 Grover 알고리즘을 로그 횟수로 실행하여 함수의 최소값과 최대 값을 계산해야합니까?
tparker

@tparker 아마 다를 것입니다. 종종 함수 F에 대해 가능한 값을 바인딩 할 수있을만큼 충분히 알고 있다고 가정합니다.
DaftWullie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.