Grover 확산 연산자는 어떻게 작동하며 왜 최적입니까?


15

에서 이 대답 , 그로버의 알고리즘을 설명한다. 설명은 알고리즘이 Grover Diffusion Operator 에 크게 의존 하지만이 연산자의 내부 작동에 대한 세부 사항은 제공하지 않음을 나타냅니다 .

간단히 말하면, Grover Diffusion Operator는 '단계에 대한 역전'을 만들어 초기 단계의 작은 차이를 측정 할 수있을만큼 충분히 크게 만듭니다.

질문은 지금 :

  1. Grover 확산 연산자는 어떻게 이것을 달성합니까?
  2. 정렬되지 않은 데이터베이스를 검색하는 데 총 시간이 걸리는 결과 가 왜 최적입니까?O(n)

1
두 번째 질문에 대한 의견입니다. Grover 알고리즘의 상태 트랙이 알고리즘의 초기 상태와 대상 상태를 연결하는 측지선을 정확하게 따른다는 것을 보여주는 작품이 있습니다. 최적입니다.
XXDD

답변:


5

원래 질문 은 평신도의 설명에 관한 것이 었 으므로 나는 지속적인 시간 진화에 기초하여 이해하기 쉬운 (배경에 따라 다름) 약간 다른 해결책을 제시합니다. (그러나 나는 그것이 평신도에게 적합하다고 주장하지 않습니다.)

우리는 모든 국가의 균일 중첩는 초기 상태에서 시작, 우리가 상태를 발견하는 것을 목표로하고 있습니다| x{| X,| ψ}, 오히려 모든 요구하는 것보다2N을. 우리가이 상태들로부터 직교 정상적인 기초를 만든다면 설명하기가 더 쉽다.{| X,

|ψ=12ny{0,1}n|y
정답으로 인식 할 수있다 (이 일반화 될 수 있지만, 이러한 하나 개의 상태가 정확하게 가정). 이를 위해 우리는 해밀턴의 행동에 따라 시간이 지남에 따라 진화합니다 H = | X X | + | ψ ψ | . 그로버 검색의 가장 아름다운 기능은이 시점에서 수학을 두 상태의 하위 공간으로 줄일 수 있다는 것입니다|x
H=|xx|+|ψψ|.
{|x,|ψ}2n | ψ = 1{|x,|ψ} 이 기초를 사용하여 시간 진화eiHt| ψ으로 작성 가능 전자-IT(I+2-NZ+
|ψ=12n1y{0,1}n:yx|y.
eiHt|ψXZ는표준 파울리 행렬이다. 이것은 eit(Icos(t
eit(I+2nZ+2n12nX)(12n112n),
XZ 그래서, 우리는 시간 동안 진화 경우t=π
eit(Icos(t2n/2)i12n/2sin(t2n/2)(Z+X2n1))(12n112n).
이며 전역 단계를 무시하면 최종 상태는 1입니다.t=π22n/2 다시 말해, 확률이 1이면 상태| X우리가 찾고 있다고. Grover의 검색에 대한 일반적인 회로 기반 설명은 실제로이 연속적인 시간의 진화가 불연속적인 단계로 나뉘어져 있으며, 일반적으로 결과에 대한 확률 1을 정확히 얻을 수 없다는 점과 약간의 단점이 있습니다.
12n/2(Z+X2n1)(12n112n)=(12n2n12n)+(112n2n12n)=(10).
|x

H~=5HH~2n/22n/2k1/k

|x|y


4

D=HnU0HnU0

U0|0n=|0n,U0|x=|xfor|x|0n.

U0U0=I2|0n0n|, giving

D=2|++|I,
where |+=2n/2(|0+|1)n.

Writing a state |ψ=α|++β|+ where |+ is orthogonal to |+ (i.e. ++=0) gives that D|ψ=α|+β|+.

This gives2 that the diffusion operator is a reflection about |+

As the other part of Grover's algorithm is also a reflection, these combine to rotate the current state closer to the 'searched-for' value x0. This angle decreases linearly with the number of rotations (until it overshoots the searched-for value), giving that the probability of correctly measuring the correct value increases quadratically.

Bennet et. al. showed that this is optimal. By taking a classical solution to an NP-problem, Grover's algorithm can be used to quadratically speed this up. However, taking a language LA={y:xA(x)=y} for a length preserving function A (here, an oracle), any bounded-error oracle based quantum turing machine cannot accept this language in a time T(n)=o(2n/2).

This is achieved by taking a set of oracles where |1n has no inverse (so is not contained in the language). However, this is contained in some new language LAy by definition. The difference in probabilities of a machine accepting LA and a different machine accepting LAy in time T(n) is then less than 1/3 and so neither language is accepted and Grover's algorithm is indeed asymptotically optimal.3

Zalka later showed that Grover's algorithm is exactly optimal.


1 In Grover's algorithm, minus signs can be moved round, so where the minus sign is, is somewhat arbitrary and doesn't necessarily have to be in the definition of the diffusion operator

2 alternatively, defining the diffusion operator without the minus sign gives a reflection about |+

3 Defining the machine using the oracle A as MA and the machine using oracle Ay as MAy, this is a due to the fact that there is a set S of bit strings, where the states of MA and MAy at a time t are ϵ-close4, with a cardinality <2T2/ϵ2. Each oracle where MA correctly decides if |1n is in LA can be mapped to 2nCard(S) oracles where MA fails to correctly decide if |1n is in that oracle's language. However, it must give one of the other 2n1 potential answers and so if T(n)=o(2n/2), the machine is unable to determine membership of LA.

4 Using the Euclidean distance, twice the trace distance

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