Grover의 알고리즘이 작동하는 이유에 대한 평신도의 설명이 있습니까?


27

Scott Aaronson작성한블로그 포스트Shor 알고리즘에 대한 매우 유용하고 간단한 설명입니다 .

두 번째로 유명한 양자 알고리즘 등의 설명이 있는지 궁금 해요 : 그로버의 알고리즘이 검색 정렬되지 않은 크기의 데이터베이스 O(n) 에서 O(n)시간.

특히, 러닝 타임의 초기 놀라운 결과에 대한 이해하기 쉬운 직관을보고 싶습니다!

답변:


20

Craig Gidney의 좋은 설명이 있습니다 (그는 블로그 에 회로 시뮬레이터를 포함한 다른 훌륭한 내용도 있습니다 ).

기본적으로 Grover 알고리즘 True은 가능한 입력 중 하나와 False다른 모든 입력에 대해 반환하는 함수가있을 때 적용됩니다 . 알고리즘의 역할은를 반환하는 알고리즘을 찾는 것입니다 True.

이를 위해 입력을 비트 문자열로 표시하고 |0|1 큐 비트의 캐릭터의 상태. 비트 문자열 그래서 0011네 개의 큐 비트 상태로 인코딩 될 수 |0011 예.

또한 양자 게이트를 사용하여 기능을 구현할 수 있어야합니다. 특히, 우리는 단일 U 구현할 일련의 게이트를 찾아야 합니다.

U|a=|a,U|b=|b

여기서 a 는 함수가 반환 할 비트 문자열 True이고 b 는 반환 할 비트 문자열입니다 False.

모든 가능한 Hadamarding으로 아주 쉬운 모든 가능한 비트 열의 중첩으로 시작하면 모든 입력은 1 의 동일한 진폭으로 시작됩니다.12n (여기서n은 검색중인 비트 문자열의 길이이므로 사용중인 큐 비트 수)입니다. 그러나 우리는 오라클 적용하는 경우U, 우리가 의지 변화를 찾고있는 상태의 진폭12n .

이것은 쉽게 관찰 할 수있는 차이가 아니므로이를 증폭시켜야합니다. 이를 위해 Grover Diffusion Operator , D 합니다. 이 연산자의 효과는 기본적으로 각 진폭이 평균 진폭과 어떻게 다른지 살펴보고이 차이를 반전시키는 것입니다. 따라서 특정 진폭이 평균 진폭보다 일정량 더 크면 평균보다 적은 양이되고 그 반대도 마찬가지입니다.

특히 비트 문자열 bj 의 중첩이있는 경우 확산 연산자는 효과가 있습니다.

D:jαj|bjj(2μαj)|bj

여기서 μ=jαj 는 평균 진폭입니다. 따라서 모든 진폭 μ+δμδ 됩니다. 왜 이것이 효과가 있는지, 어떻게 구현하는지 알아 보려면 강의 노트를 참조하십시오 .

대부분의 진폭은 평균보다 조금 더 클 것입니다 (단일 1 의 효과로 인해)12n )이므로이 연산을 통해 평균보다 작은 비트가됩니다. 큰 변화는 아닙니다.

우리가 찾고있는 주가 더 강하게 영향을받을 것입니다. 진폭은 평균보다 훨씬 작으므로 확산 연산자를 적용한 후 평균이 훨씬 커집니다. 따라서 확산 연산자의 최종 효과는 진폭이 1 인 스키밍 상태에 간섭 효과를 유발하는 것입니다.12n 모든 잘못된 답변에서와 오른쪽 하나에 추가합니다. 이 과정을 반복함으로써 우리는 솔루션을 식별 할 수있을 정도로 많은 솔루션을 제공 할 수있는 지점으로 빠르게 이동할 수 있습니다.

물론,이 모든 것은 모든 작업이 확산 연산자에 의해 수행되었음을 보여줍니다. 검색은 우리가 연결할 수있는 응용 프로그램 일뿐입니다.

함수확산 연산자 를 구현 하는 방법에 대한 자세한 내용은 다른 질문에 대한 답변을 참조하십시오 .


4

너무 기술적이지 않고 통찰력을 얻는 데 유용한 그래픽 접근 방식을 발견했습니다. 입력이 필요합니다 :

  • 우리는 상태를 생산할 수 있습니다 '표시'상태 비제 겹침 | X : X | ψ 0 .|ψ|엑스엑스|ψ0
  • 우리가 작업을 구현할 수있는 1=(나는2|ψψ|)
  • 연산을 구현할 수 있습니다 .2=나는2|엑스엑스|

이 마지막 작업은 표시된 항목을 -1 단계로 표시 할 수있는 작업입니다. 상태를 정의 할 수도 있습니다 에 직교 될 | X 있도록 { | X , | ψ } 의 범위에 대한 정규직 교 기초를 형성 { | X , | ψ } . 정의한 두 작업 모두이 공간을 유지합니다. { | X , | ψ }|ψ|엑스{|엑스,|ψ}{|엑스,|ψ}{|엑스,|ψ}범위 내에서 상태를 반환합니다. 또한 둘 다 단일이므로 입력 벡터의 길이가 유지됩니다.

2 차원 공간 내에서 고정 길이의 벡터는 원의 원주로 시각화 될 수있다. 자, | X . |ψ|엑스여기에 이미지 설명을 입력하십시오

|ψ|엑스|ψ|ψ|ψ|ψθ여기에 이미지 설명을 입력하십시오

1|ψ2|ψ여기에 이미지 설명을 입력하십시오

212θ|엑스여기에 이미지 설명을 입력하십시오

|ψθ|엑스엑스

|엑스|ψ1영형(1/)=θθθ아르 자형((2아르 자형+1)θ)1아르 자형π2θπ2


3

Grover의 알고리즘이 작동하는 방식 (및 그 이유)에 대한 간단한 설명은 퀀텀 게이트가 확률 진폭 만 재구성 할 수 있다는 것입니다. 계산 기준의 모든 상태에 대해 동일한 확률 진폭을 가진 초기 상태를 사용하면 의 진폭으로 시작합니다.1/1

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